2012-12-16 120 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

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