我正在使用實體框架6.1作爲ORM。我想配置Rule
和Code
實體之間的一對多關係。我想用一個名爲RuleParameters
的中間包裝類來做到這一點。另外,我不希望這個包裝器對象在DB中表示。如何在實體框架中配置與中間包裝類的一對多關係
EF有可能嗎?如果是這樣,我缺少哪些註釋/流暢API配置?
這是我的設置。我在這裏以流利的api顯示註釋,以便簡明扼要。
public class Rule
{
public Rule()
{
Parameters = new RuleParameters();
}
public int RuleId { get; set; }
[NotMapped]
public RuleParameters Parameters { get; set; }
}
public class RuleParameters
{
public virtual IList<Code> Codes;
}
public Code
{
public int CodeId { get; set; }
public int RuleId { get; set; }
[ForeignKey("RuleId")]
public Rule Rule { get; set; }
}
問題我遇到:
RuleParameters
不是一個實體,所以我當然希望把它當作一個複雜的類型,但不能因Codes
協會(1/2)(2/2)。- 從EF隱藏
RuleParameters
包裝,同時配置一對多關係似乎是矛盾的。
@GertArnold'[NotMapped]'用於隱藏'RuleParameters'。似乎這樣做也隱藏了我想要在實體之間配置的任何種類的關係,因此矛盾:(。 – Mantzel
呃,你不能隱藏'RuleParameters',你必須將它映射爲一個複雜類型,或者由流利的API或數據註釋 –