我正在構建具有許多不同對象(表)的應用程序,其中許多對象都需要具有一對多關係一個「屬性」對象。例如,我可以有五個不同的對象 - A,B,C,D,E - 並且每個對象都需要具有Attributes屬性--A.Attributes,B.Attributes等。實體框架代碼具有指向單個表的多個一對多關係的第一個配置
我的問題是,將是在EF代碼優先這種結構的最佳方式?這個Attribute類可能最終有15-20個不同的類與它有關係。
目前,「父」類中的一個配置是這樣的:
HasMany(rdp => rdp.Attributes)
.WithOptional()
.WillCascadeOnDelete();
然而,這將創造在屬性表(一個外鍵列例如,「A_ID」,「B_ID」等)。所以如果我有20個不同的屬性類,屬性表將有20個不同的外鍵。
有沒有更好的方法來構造這個?
將屬性設置爲[ComplexType](http://msdn.microsoft.com/zh-cn/data/jj591583.aspx)是否合理? –
@JeremyCook:據我所知,一種複雜的類型只適用於一對一的關係。每個父類(A,B,C等)可以具有零個,一個或多個屬性,所以我不認爲複雜類型可行。 – Amberite