1

讓許多到許多查詢的說,我有這樣的:LINQ到實體 - 與代碼優先

public partial class AccessMask 
{ 
    public int AccessMaskID { get; set; } 
=== bla bla bla === 

    public virtual ICollection<Role> Role { get; set; } 
} 

    public partial class Role 
{ 

    public int RoleID { get; set; } 
    === bla bla bla== 

    public virtual ICollection<Forum> Forum { get; set; } 
    public virtual ICollection<Rank> Rank { get; set; } 
    public virtual ICollection<User> User { get; set; } 
    public virtual ICollection<AccessMask> AccessMask { get; set; } 
} 

而現在一個很大的問題。如何在這兩者之間進行查詢?正如你可能看到它是多對多的關係。而我想要做的就是加入這個並獲得與角色連接的訪問​​掩碼。 bla bla bla-一些完全不相關的隨機性質。

更新!

我知道我可以使用: 包括() 但使用它的很多的查詢..將是一個壞主意。因爲我有很多看起來很相似的多對多關係。 或者我是否必須簡單地將我的模型重新分配給更加傳統的連接實體?

+2

提示:簡化您的代碼並取出與m-m問題無關的屬性 – 2011-05-16 16:51:20

回答

3

用於檢索數據,它的工作方式相同任何其他導航屬性:

Role myRole = context.Where(x=>x.Id=123).FirstOrDefault(); 
ICollection<AccessMask> masks = myRole.AccessMask; 

不過,我已經得到了很多一對多的數據保存的一個非常粗略的時間。