【问题标题】:EF Code First Many to Many mapping using existing mapping classEF Code First 使用现有映射类的多对多映射
【发布时间】:2023-03-07 05:42:01
【问题描述】:

我有三门课

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Product> Products { get; set; }
}

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<User> Users { get; set; }
}

public class ProductXUser // Mapping class
{
    public int Id { get; set; }
    public int User_Id { get; set; }
    public int Product_Id { get; set; }
    public DateTime DateMapped { get; set; }
}

如何使用ProductXUser 类作为映射表在User 类和Product 类之间映射多对多关系(使用Fluent API)?

【问题讨论】:

    标签: c# entity-framework ef-code-first


    【解决方案1】:

    你不能。一旦将联结表公开为实体,就不能使用多对多关系。您必须改为使用两个一对多关系。一个从UserProductXUser,第二个从ProductProductXUser。您还必须更改ProductUser 中的导航属性以指向ProductXUser 的集合。仅当您不将联结表作为实体公开时,直接多对多关系才有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      • 2012-09-26
      • 1970-01-01
      相关资源
      最近更新 更多