假设我有在DB 3代表的多对多的关系:如何处理EF中的N-N关系?
塔巴(ID1,...):主键:ID1
塔布(ID2,...):主键:ID2
TabAB(ID1,ID2,...):外键:ID1,ID2
所以,当创建EDMX VS 2010中的DB,我只得到两个实体塔巴和塔布的模型,因为TabAB无主键。
如何用EF处理这种情况?
假设我有在DB 3代表的多对多的关系:如何处理EF中的N-N关系?
塔巴(ID1,...):主键:ID1
塔布(ID2,...):主键:ID2
TabAB(ID1,ID2,...):外键:ID1,ID2
所以,当创建EDMX VS 2010中的DB,我只得到两个实体塔巴和塔布的模型,因为TabAB无主键。
如何用EF处理这种情况?
你确定EF不只是把TabAB变成了一种关系吗?如果没有其他列,它将不会在模型中显示为表格。 EF指出TabAB是一个连接表,并对其进行相应处理。
如果不是,最好的方法是将TabAB更改为id1
和id2
的复合主键。如果有一些理由认为价值组合不是唯一的,那么研究其原因可能会很好。
常用的方法是处理EF中的多对多关系 - 在存储中有三个表,在概念模型中只有两个表。存储器中的第三个表包含表示引用主表的外键的列,并且中间表的主键构建在这些引用列上。设计师只是隐藏它:)
正如你猜测的那样,当我尝试它时,TabAB(id1,id2)没有其他列,它也没有出现在模型中。所以应该没问题吧? – KentZhou 2011-02-07 19:10:25