0

我对 Entity Framework(目前使用 EF5)和 vs2012 真的很陌生,并且很难弄清楚一些事情。

我有一个从我的数据库生成的 .edmx。它有两个表:Item3rdPartyItem。简而言之,该Item表是所有公司项目的主表,而该3rdPartyItem表是用于保存项目附加属性的表。这个3rdPartyItem表是由一家外部公司创建的,并与他们的公司软件一起使用,所以我不能弄乱任何一张表。我要做的是在网格中显示项目列表,但我需要显示两个表的所有字段的组合。在 vs2012 中,如果我创建一个关系并将其设为“零对一”(因为对于 Item 表中的每条记录,3rdPartyItem 表中不一定必须有一个),vs 抱怨没有正确映射. 当我设置映射时,它会抱怨有多个关系。我做了一些研究,发现你不能用 2 个主键创建关系,所以我认为这就是问题所在。但是如何更改 .edmx 以便在代码中可以访问 Items 和 3rdPartyItem ,如下所示:

var items = dbContext.Items;
items.3rdPartyItem.SomeField <--field from 3rdPartyItem table.

不太确定这是否可能,但如果是这样,那将非常非常有帮助。有任何想法吗?

4

1 回答 1

0

您正在寻找的是每个类型的表 (TPT) 映射继承。您可以在此处查看 MSDN 演练(尽管您希望您的基本类型是可实例化的):

http://msdn.microsoft.com/en-us/data/jj618293.aspx

于 2013-03-26T22:42:27.410 回答