Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ HandleRelation()

XmlElement System.Data.XmlTreeGen.HandleRelation ( DataRelation rel,
XmlDocument dc )
inlinepackage

Definition at line 993 of file XmlTreeGen.cs.

994 {
995 XmlElement xmlElement = dc.CreateElement("msdata", "Relationship", "urn:schemas-microsoft-com:xml-msdata");
997 xmlElement.SetAttribute("parent", "urn:schemas-microsoft-com:xml-msdata", rel.ParentKey.Table.EncodedTableName);
998 xmlElement.SetAttribute("child", "urn:schemas-microsoft-com:xml-msdata", rel.ChildKey.Table.EncodedTableName);
999 if (_ds == null || _ds.Tables.InternalIndexOf(rel.ParentKey.Table.TableName) == -3)
1000 {
1001 xmlElement.SetAttribute("ParentTableNamespace", "urn:schemas-microsoft-com:xml-msdata", rel.ParentKey.Table.Namespace);
1002 }
1003 if (_ds == null || _ds.Tables.InternalIndexOf(rel.ChildKey.Table.TableName) == -3)
1004 {
1005 xmlElement.SetAttribute("ChildTableNamespace", "urn:schemas-microsoft-com:xml-msdata", rel.ChildKey.Table.Namespace);
1006 }
1007 DataColumn[] columnsReference = rel.ParentKey.ColumnsReference;
1008 string value = columnsReference[0].EncodedColumnName;
1010 if (1 < columnsReference.Length)
1011 {
1013 stringBuilder.Append(value);
1014 for (int i = 1; i < columnsReference.Length; i++)
1015 {
1016 stringBuilder.Append(' ').Append(columnsReference[i].EncodedColumnName);
1017 }
1018 value = stringBuilder.ToString();
1019 }
1020 xmlElement.SetAttribute("parentkey", "urn:schemas-microsoft-com:xml-msdata", value);
1021 columnsReference = rel.ChildKey.ColumnsReference;
1022 value = columnsReference[0].EncodedColumnName;
1023 if (1 < columnsReference.Length)
1024 {
1025 if (stringBuilder != null)
1026 {
1028 }
1029 else
1030 {
1032 }
1033 stringBuilder.Append(value);
1034 for (int j = 1; j < columnsReference.Length; j++)
1035 {
1036 stringBuilder.Append(' ').Append(columnsReference[j].EncodedColumnName);
1037 }
1038 value = stringBuilder.ToString();
1039 }
1040 xmlElement.SetAttribute("childkey", "urn:schemas-microsoft-com:xml-msdata", value);
1041 AddExtendedProperties(rel._extendedProperties, xmlElement);
1042 return xmlElement;
1043 }
DataTableCollection Tables
Definition DataSet.cs:396
static void AddExtendedProperties(PropertyCollection props, XmlElement node)
Definition XmlTreeGen.cs:55
static ? string EncodeLocalName(string? name)
Definition XmlConvert.cs:49
virtual void SetAttribute(string name, string? value)

References System.Data.XmlTreeGen._ds, System.Data.XmlTreeGen.AddExtendedProperties(), System.Xml.Dictionary, System.Data.DataColumn.EncodedColumnName, System.Xml.XmlConvert.EncodeLocalName(), System.Data.DataTableCollection.InternalIndexOf(), System.Xml.XmlElement.SetAttribute(), System.Data.DataSet.Tables, and System.value.

Referenced by System.Data.XmlTreeGen.HandleTable(), and System.Data.XmlTreeGen.SchemaTree().