2013-01-05 66 views
0

我在sql服務器中有這三個表,但是當使用EF映射這些表時,我將失去表示MM關係的表 - 帳戶映射表和在這種情況下,我將無法知道哪些帳戶與哪些網站相關聯。
要解決此問題,我只是在AccountSiteMapping表中添加一個新列,然後重新映射表,然後我可以訪問AccountSiteMapping表。使用ADO.net實體框架時,多對多關係不會被映射

enter image description here

但是,有沒有辦法能,而不需要修改我的表設計來解決這個問題?

+0

接受的答案http://stackoverflow.com/questions/6070554/explicit-many多對多連接表在實體框架-4應該讓你很好去。 – Faust

回答

1

默認情況下,實體框架將隱藏所有映射表中的多對多關係。你必須做你的查詢是這樣的:

例如,當發現SiteDefinitions與給定org_ID相關:

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

你可以閱讀[這裏](http://smehrozalam.wordpress.com/2010/06/29/entity-framework-queries-involving-many-to-many-relationship-tables/)瞭解更多信息。 – rexcfnghk