2012-10-03 48 views
3

我開始使用EF代碼中的多對多關係,發現我不喜歡在我的實體上有集合。我更喜歡在我的存儲庫中處理多對多的關係,所以我可以執行諸如repository.GetUsersForOrganization(organization)之類的操作。我主要關心的不是在我的實體上公開一個集合,並且在我的存儲庫上有幾個方法處理涉及多對多關係的所有事情,包括獲取,添加和刪除關係。對於去除集合並將其替換爲基於存儲庫的方法的最佳方式,我幾乎不知所措。其他人如何做到這一點?實體框架代碼首先 - 許多到很多沒有集合

+0

我可以問爲什麼你不喜歡收藏?配合延遲加載,User.Organizations和Organization.Users可以正常工作。 – SWeko

回答

3

如果您不想在實體上具有多對多關係的導航屬性,那麼您將不會映射這些多對多關係,而是將映射表映射爲多對多關係作爲單獨的實體並直接在您的存儲庫中的專門方法中訪問它們。

+0

我完全忽略了一個正確而明顯的答案。試圖從數據庫中抽象出來讓我忘記了數據庫實際工作的一瞬間。感謝您的提示,我想我會嘗試這種方法,看看它是怎麼回事! –