如何在 dataset.relations 上与相同的 table(使用不同的列)建立 2 个关系?
How to make 2 relations to the same table(using diferent columns) on dataset.relations?
我有一个 table 个客户和一个 table 个国家/地区,客户有 2 列引用国家/地区 ID(客户所在国家/地区的 ID,以及客户想要其包裹的国家/地区的 ID发送到),而 dataset.relations 可用于使用 1 列(或更多列,只要它们不同)来融合 tables,我不知道如何显示包含以下信息的 table客户端,以及对应ids的两个countires的NAME。
仅对于客户所在的国家/地区,我很满意
billOrderDataset.Relations.Add("clientCountryRelation",countriesTableCopy.Columns("id"), clientTableCopy.Columns("countryId"))
clientTableCopy.Columns.Add("countryName",GetType(String), "Parent.countryName")
但在那之后我不知道如何将国家名称添加到列 "deliveryCountryId" 因为已经存在使用 tables 和来自国家的 id 列的关系,所以基本上我需要像
这样的东西
billOrderDataset.Relations.Add("clientCountryRelation2",countriesTableCopy.Columns("id"), clientTableCopy.Columns("DeliveryCountryId"))
clientTableCopy.Columns.Add("DeliveryCountryName",GetType(String), "Parent.countryName")
答案隐藏在 DataColumn.Expression 属性 文档的备注部分中的一段中。
Parent/Child Relation Referencing
....
When a child has more than one
parent row, use Parent(RelationName).ColumnName. For example, the
Parent(RelationName).Price references the parent table’s column named
Price via the relation.
因此,换句话说,当您在子项上有多个关系时 table 您需要在表达式语法中明确给出关系的名称
clientTableCopy.Columns.Add("countryName",GetType(String), "Parent(clientCountryRelation).countryName")
clientTableCopy.Columns.Add("DeliveryCountryName",GetType(String), "Parent(clientCountryRelation2).countryName")
我有一个 table 个客户和一个 table 个国家/地区,客户有 2 列引用国家/地区 ID(客户所在国家/地区的 ID,以及客户想要其包裹的国家/地区的 ID发送到),而 dataset.relations 可用于使用 1 列(或更多列,只要它们不同)来融合 tables,我不知道如何显示包含以下信息的 table客户端,以及对应ids的两个countires的NAME。
仅对于客户所在的国家/地区,我很满意
billOrderDataset.Relations.Add("clientCountryRelation",countriesTableCopy.Columns("id"), clientTableCopy.Columns("countryId"))
clientTableCopy.Columns.Add("countryName",GetType(String), "Parent.countryName")
但在那之后我不知道如何将国家名称添加到列 "deliveryCountryId" 因为已经存在使用 tables 和来自国家的 id 列的关系,所以基本上我需要像
这样的东西billOrderDataset.Relations.Add("clientCountryRelation2",countriesTableCopy.Columns("id"), clientTableCopy.Columns("DeliveryCountryId"))
clientTableCopy.Columns.Add("DeliveryCountryName",GetType(String), "Parent.countryName")
答案隐藏在 DataColumn.Expression 属性 文档的备注部分中的一段中。
Parent/Child Relation Referencing
....
When a child has more than one parent row, use Parent(RelationName).ColumnName. For example, the Parent(RelationName).Price references the parent table’s column named Price via the relation.
因此,换句话说,当您在子项上有多个关系时 table 您需要在表达式语法中明确给出关系的名称
clientTableCopy.Columns.Add("countryName",GetType(String), "Parent(clientCountryRelation).countryName")
clientTableCopy.Columns.Add("DeliveryCountryName",GetType(String), "Parent(clientCountryRelation2).countryName")