2012-12-16 159 views
0

我正在研究C#Web中的基本應用程序。C#映射多對多

我想有2個對象: - 用戶 -

集團

這裏的類:

public class User { 
    public int Id; { get; set; } 
    public String Username { get; set; } 
    public String Password { get; set; } 
    public virtual List<Group> Groups { get; set; } 
} 

public class Group{ 
    public int Id { get; set; } 
    public String Name{ get; set; } 
    public virtual List<User> Users { get; set; } 
} 

我的問題是,當我使用此代碼有沒有關係多對多的創建。我在表User中有一個列名「Group_Id」,在我的表Group中有一個列名「User_Id」。

當我使用我的DbContext類來檢索像這樣的數據: List groups = db.Groups.ToList(); 「組」中所有對象的「用戶」屬性或設置爲空。所以不要由數據庫加載。

有人可以解釋我如何使這種關係多對多很好嗎?

+0

數據庫中是否存在需要閱讀並具有多對多關聯的第三個表? –

回答

2

如果您正在使用實體框架,使用ObjectQuery<T>.Include方法:

List groups = db.Groups.Include("Users").ToList() 

的方法參考MSDN上是here

+0

非常感謝你的工作! :) –