[英]Entity Framework Code First configuration with multiple one-to-many relationships pointing to a single table
我正在構建一個具有許多不同對象(表)的應用程序,其中許多對象需要與“屬性”對象具有一對多的關系。 例如,我可以有五個不同的對象--A,B,C,D,E - 並且每個對象都需要具有Attributes屬性 - A.Attributes,B.Attributes等。
我的問題是,如何在EF Code First中構建此代碼的最佳方法是什么? 此Attribute類最終可能包含15-20個與之關系的不同類。
目前,其中一個“父”類的配置如下所示:
HasMany(rdp => rdp.Attributes)
.WithOptional()
.WillCascadeOnDelete();
但是,這將在Attribute表上創建一個外鍵列(例如,“A_Id”,“B_Id”等)。 因此,如果我有20個具有屬性的不同類,則Attribute表將具有20個不同的外鍵。
有沒有更好的方法來構建它?
您可以引入映射到其自己的表的AttributeList類型。 即您可以將列表建模為實體。
A,B,C,D,E與AttributeList具有一對一的關聯,並且具有A,B,C,D和E類的AttributeList的外鍵。
每個AttributeList對象包含許多屬性,換句話說,從AttributeList到Attribute之間存在一對多關系。
現在,您擁有一個具有屬性的一對多的類型,並且您只需要屬性上的AttributeList的單個外鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.