【问题标题】:C# Mapping Many To ManyC# 多对多映射
【发布时间】:2012-12-03 22:16:02
【问题描述】:

我正在开发一个 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; }
}

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

当我使用我的 DbContext 类检索数据时,如下所示: 列出组 = db.Groups.ToList(); 我在“组”中的所有对象的属性“用户”或设置为空。所以不会被数据库加载。

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

【问题讨论】:

  • 数据库中是否有第三个需要读取的具有多对多关联的表?

标签: c# many-to-many


【解决方案1】:

如果您使用的是实体框架,请使用ObjectQuery&lt;T&gt;.Include 方法:

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

在 MSDN 上对该方法的引用是 here

【讨论】:

    猜你喜欢
    • 2012-07-08
    • 2020-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 2023-03-14
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多