我的订单类有:
public int CustomerId { get; set; } public Customer Customer { get; set; }
我真的需要这两个属性来建立关系吗?
解决方法
根据Julia Lerman的着作:
Programming Entity Framework: DbContext,差异在于更新导航属性的难度.在第85页,她建议“如果有一件事情你可以做,以使你的生活更容易在N层的情况下,它是暴露外部关键属性的模型中的关系.本书包含两种情况的样本.
原因是包括外键属性告诉实体框架使用外键关联,这比使用所谓的独立关联更简单,当您需要更新关系时,即将示例中的一个客户更改为另一个客户的顺序.使用外键关联,您只需要更改CustomerId即可.没有CustomerId外键,您需要更多的步骤.独立关联使用已解释的ObjectStateManager Code First: Independent associations vs. Foreign key associations? ObjectStateManager很复杂,甚至没有从DbContext API公开.