我在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中使用非常方便。 to-many-reference Students
是否有类似的概念?
最后,我想在ASP.Net中创建一个多选。因此,我需要为此研讨会分配Students
的ID列表。
答案 0 :(得分:0)
由于IList<Person> Students
导航属性,EF将推断一对多关系,并且它将引用具有该名称的学生。这假设Person
具有Seminar
的外键。但是Person
还应该有一个外键作为教师的研讨会,所以最后应该是一个多对多的关系,这需要一个流畅的API定义。有关更多info
答案 1 :(得分:0)
你可以通过流利的api
来做到这一点modelBuilder.Entity<Seminars>()
.HasMany(c => c.Students)
.WithOptional()
.Map(m => m.MapKey("StudentId"));