Amr*_*dan 11 c# entity-framework ef-code-first entity-framework-4.1
我试图找出如何表示两个实体之间的桥接表(多对多关系)我正在使用实体框架代码优先
Student:
StudentID int PK
StudentName VARCHAR(50)
Class:
ClassID int PK
ClassName VARCHAR(50)
StudentClass:
StudentID INT PK
ClassID INT PK
Run Code Online (Sandbox Code Playgroud)
应该使用什么样的最佳类结构来在实体框架代码中表示它,如何从桥接表中进行选择并插入其中.
我应该代表这样的类:
public class Student
{
public int StudentId { get; set; }
public string StudentName { get; set; }
public List<Class> Class { get; set; }
}
public class Class
{
public int ClassId { get; set; }
public string ClassName { get; set; }
public List<Student> Students { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
EL *_*bov 13
简而言之:之间的这种关系类型Student
和Class
被称为多对多的关系在EF术语.
实体框架以一种很好的方式处理参与多对多关系的表.如果联结表(有时称为桥表,关联表,链接表等)只包含外键而没有其他列,则该表由EF抽象,并且双方获得一个导航属性,暴露另一个的集合.侧.
您需要的是首先为上面的表生成实体模型,或者像下面的帖子中那样定义代码的第一个结构 - 使用Code First创建多对多映射.
基本上,根据您的结构,您需要设置OnModelCreating
适合您的类中的关系的方法.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
Run Code Online (Sandbox Code Playgroud)
根据您的查询需求,您可以查看以下参考资料:
归档时间: |
|
查看次数: |
10683 次 |
最近记录: |