簡體   English   中英

實體框架代碼具有指向單個表的多個一對多關系的第一個配置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM