使用ADO.net实体框架时,不会映射多对多关系

时间:2013-01-05 10:55:18

标签: entity-framework entity-framework-4 ado.net

我在sql server中有这三个表,但是当使用EF映射这些表时,我将丢失表示MM关系的表 - accountsitemapping表 - 在这种情况下,我将无法知道哪些帐户链接到哪个站点。
为了解决这个问题,我刚刚在AccountSiteMapping表中添加了一个新列,然后我重新映射了表,然后我可以访问AccountSiteMapping表。

enter image description here

但是有没有办法能够解决这个问题,而无需修改我的表格设计?

1 个答案:

答案 0 :(得分:1)

默认情况下,实体框架将隐藏多对多关系中的所有映射表。您必须以这种方式进行查询:

例如,找到与给定SiteDefinitions相关联的org_ID

db.SiteDefinitions.Where(a => a.AccountDefinitions.Any(b => b.ORG_ID == org_ID));