实体框架核心中的多对多关系,用于在3个不同的表中插入

时间:2018-01-26 13:35:49

标签: entity-framework entity-framework-core

我是Entity Framework Core的新手,任何人都可以帮助我如何在下表中插入数据。

Student Table
==============
StudentID Int
StudentName Varchar(50)

Class Table
===============
ClassID int
ClassName Varchar(50)

StudentClassXref
==================
StudentID int
ClassID Int

上表的关系将学生表只有一个外键到Xref表,同样适用于Class表。 Student和Class表之间没有直接的链接,所以一旦我生成了POCO类,我得到了上面的3个表,并且与Student和Class Table的关系仅引用了Xref表。

所以现在如何在Student,Class和Xref表中插入数据。

保存后,值应为

Student
===========
1         xxxxx

Class
============
1        Maths
2        Science

Xref
===========
1         1
1         2

任何人都可以帮助我使用EF核心将数据插入这些表格。

提前致谢。

我的POCO班级

public partial class Student
{
  public int StudentId { get;  set; }
  public string StudentName { get;  set; }

  public System.Collections.Generic.ICollection<StudentClasseXref> StudentClasseXrefs { get; set; }
  public Equation()
  {
     StudentClasseXrefs = new System.Collections.Generic.List<StudentClasseXref>();
     InitializePartial();
  }
}

COCO类

public partial class Class
{
  public int ClassId { get;  set; }
  public string ClassName { get;  set; }

  public System.Collections.Generic.ICollection<StudentClasseXref> StudentClasseXrefs { get; set; }
  public Class()
  {
     StudentClasseXrefs = new System.Collections.Generic.List<StudentClasseXref>();
     InitializePartial();
  }
}

Xref POCO Class

public partial class StudentClassXref
{
    public int StudentId { get;  set; }
    public int ClassId { get;  set; }

    public Student Student { get; set; }
    public Class Class { get; set; }
}

0 个答案:

没有答案