1
首先要做的事情是:我已經用全部的術語搜索了全部的答案,所有的術語我都能想到,所以如果以更好的方式提出了我的問題,我表示歉意。創建多個不同實體之間的單向關係到單個實體
說我有持有某種非實體特定的元數據的實體:
public class MetaData
{
public int Id { get; set; }
public string SomeProperty { get; set; }
}
,這是由單獨的實體引用:
public class SomeEntity
{
[???]
public string MetaDataId { get; set; }
}
public class CompletelyDifferentEntity
{
[???]
public string MetaDataId { get; set; }
}
是否有任何屬性,我可以替換???那樣會以代碼優先的方式工作?我是否必須爲每個對象添加一個MetaData屬性來通知EF關係?我試過Required
,ForeignKey
,InverseProperty
,Association
attibutes(和其他我忘記)沒有運氣。
如果我需要回到流暢的API來設置它可以在元數據實體上設置它,還是需要分別爲每個實體指定它?
NB:如果我從不需要真正檢索MetaData屬性,答案會不同嗎?即id僅用於分組?
感謝您的回覆。我知道這可以通過向這些實體添加MetaData屬性來工作(如問題中所述),但我正在檢查是否有任何方法不需要這樣做。這意味着將一個永不解決的財產添加到許多實體中,這似乎是一種恥辱。 – JRoughan
@JRoughan:如果你只想在數據庫中有一個外鍵約束,你可以將一個sql腳本添加到一個自定義的上下文初始化器中,或者將它添加到基於代碼的遷移中。 – Slauma