我对Entity Framework(目前正在使用EF5)和vs2012非常陌生,并且我很难尝试解决问题。
我有一个从我的数据库生成的.edmx。它有两个表:Item
和3rdPartyItem
。简而言之,Item
表是所有公司项的主表,而3rdPartyItem
表是用于保存项的其他属性的表。这个3rdPartyItem
表是由一家外部公司创建的,并且与他们的软件一起用于公司,所以我不能乱用这两个表。我要做的是显示网格中的项目列表,但我需要显示两个表格的所有字段的组合。在vs2012中,如果我创建一个关系并使其“从零到一”(因为对于Item表中的每个记录,在3rdPartyItem表中不一定必须是一个),vs抱怨没有正确映射。当我设置映射时,它会抱怨存在多个关系。我做了一些研究,发现你不能用2个主键建立关系,所以我认为这是问题所在。但是如何更改.edmx以便在代码中,我可以像这样访问Items和3rdPartyItem:
var items = dbContext.Items;
items.3rdPartyItem.SomeField <--field from 3rdPartyItem table.
不太确定是否可能,但如果是这样的话会非常非常有用。有什么想法吗?
答案 0 :(得分:0)
您正在寻找的是每个类型的表(TPT)映射继承。您可以在此处查看MSDN演练(尽管您希望基本类型可以实例化):