使用ASP.NET动态数据/ LINQ to SQL,您如何使两个表字段与同一个外键有关系?

使用ASP.NET动态数据/ LINQ to SQL,您如何使两个表字段与同一个外键有关系?

Using ASP.NET Dynamic Data / LINQ to SQL, how do you have two table fields have a relationship to the same foreign key?

我正在为项目使用ASP.NET动态数据,并且我有一个表,该表具有两个单独的字段,这些字段链接到另一个表中的相同外键。

这种关系在SQL Server中可以正常工作。

但是,在ASP.NET动态数据模型的LINQ to SQL模型中,仅反映第一个字段的关系。 如果我尝试手动添加第二个关系,它将抱怨它"无法创建关联" ForeignTable_BaseTable"。相同的属性被列出多次:" Id"。

此MSDN文章提供了一些有用的建议,例如:

  • 检查消息并记下消息中指定的属性。
  • 单击确定以关闭该消息框。
  • 检查关联属性并删除重复的条目。
  • 单击

解决方案是删除两个表并将它们重新添加到LINQ to SQL图中,而不仅仅是添加第二个字段和键的表。

另外,您似乎可以使用LINQ to SQL接口建立两个关联-只是不要尝试将它们捆绑为一个关联。


推荐阅读