我有一个类AgentBalance与关联代理,即:EF代码优先流利的API指定外键属性
public class AgentBalance
{
...
public int AgentId { get; set; }
public virtual Agent Agent { get; set; }
}
AGENTID被检测为FK由约定的委托代理关系,但我想在Mapping类中明确表示,以便对未来的变化更安全。如果代理有余额的集合,然后我知道如何做到这一点例如为:
HasRequired(t => t.Agent).WithMany(a => a.Balances).HasForeignKey(t => t.AgentId);
然而,代理不有余额的集合 - 我不希望该协会是反向通航。但没有映射中的.WithMany,我没有选择指定.HasForeignKey。有另一种方法吗? (N.B.我知道我也可以使用属性来做到这一点,但我想使用流畅的API映射)。
谢谢 - 我已经错过了WithMany()超载!尽管如此,似乎是一种奇怪的语法我不明白他们为什么不能让你写下如下内容:HasRequired(t => t.Agent).HasForeignKey(t => t.AgentId) –
EF没有办法知道类型它的关系。 – SOfanatic
这不适合我。 EF除了我已经明确配置为外键列的AgentId外,还创建了一个新的Agent_Id列。你知道为什么会发生这种情况吗? – Yulian