EF核心1.0上的多对多关系首先使用模型进行编码?

时间:2016-11-04 19:01:05

标签: c# entity-framework entity-framework-core

我已经有了以下表格。

create table A (Id char(8) primary key, .....)
create table B (Id int primary key, .....)
create table A_B (AId references A(Id), BId references B(Id), primarykey(AId, BId))

为这些多对多关系定义类的最佳方法是什么?

class A { 
    public string Id { get; set; } 
    .... 
    public List<B> Bs { get; set; } or List<A_B> A_Bs?
}
class B {
    public int Id { get; set; }
    ....
    public List<A> As { get; set; } or List<A_B> A_Bs?
}
class A_B ???

1 个答案:

答案 0 :(得分:1)

EFCore在没有连接表的情况下不支持多对多,所以你必须使用类似的东西:

class A {
      List<A_B> A_Bs {get;set;}
    }

    class A_B {
      int AId {get;set;}
      A MyA {get;set;}
      int BId {get;set;}
      B MyB {get;set;}
    }

class B {
    List<A_B> A_Bs {get;set;}
}