0

我正在开发 C# Web 中的基本应用程序。

我想要 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; }
}

我的问题是,当我使用此代码时,创建的多对多没有关系。我的表用户中有一个列名“Group_Id”,我的表组中有一个列名“User_Id”。

当我使用我的 DbContext 类来检索这样的数据时: List groups = db.Groups.ToList(); 我在“组”中的所有对象的属性“用户”或设置为空。所以不被数据库加载。

有人可以解释一下如何使这种多对多的关系正常工作吗?

4

1 回答 1

2

如果您使用的是实体框架,请使用以下ObjectQuery<T>.Include方法:

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

参考 MSDN 上的方法在这里

于 2012-12-16T17:23:22.893 回答