簡體   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