繁体   English   中英

实体框架核心外键很多

[英]Entity Framework Core foreign keys many

我在ASP.Net Core MVC应用程序的上下文中使用Entity Framework Core。 数据模型的片段如下所示:

public class Seminar
{       
   public int ID { get; set; }
   public string Name { get; set; }
   public Person Teacher { get; set; }
   public int TeacherID { get; set; }

   public IList<Person> Students { get; set; }

   public Seminar()
   {
      Students = new List<Person>();
   }
}

EF自动分配属性TeacherID以反映实体Teacher的ID(外键)。 这在ASP.Net中使用非常方便。 有很多推荐Students有类似的概念吗?

最后,我想在ASP.Net中创建一个多选。 因此,我需要一份分配给该研讨会的Students ID的列表。

借助IList<Person> Students导航属性,EF将推断出一对多关系,并且它将引用具有该名称的Student。 假设Person具有Seminar的外键。 但是然后, Person还应该以教师的身份为研讨会提供外键,因此最终应该是多对多的关系,这需要流畅的API定义。 参考此以获取更多信息

你可以通过流利的API做到这一点

modelBuilder.Entity<Seminars>()
.HasMany(c => c.Students)
.WithOptional()
.Map(m => m.MapKey("StudentId"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM