private string FindTargetNamespace(DataTable table)
{
string tgNamespace = table.TypeName.IsEmpty ? table.Namespace : table.TypeName.Namespace;
if (string.IsNullOrEmpty(tgNamespace))
{
DataRelation[] nestedParentRelations = table.NestedParentRelations;
if (nestedParentRelations.Length != 0)
{
for (int i = 0; i < nestedParentRelations.Length; i++)
{
DataTable parentTable = nestedParentRelations[i].ParentTable;
if (table != parentTable)
{// table can be self nested so it may go to infinite loop!
tgNamespace = FindTargetNamespace(parentTable);
if (!string.IsNullOrEmpty(tgNamespace))
{
break;
}
}
}
}
else
{ // if it does not have any parent table , then it should inherit NS from DataSet
tgNamespace = _ds.Namespace;
}
}
return tgNamespace;
}