c# – 在什么情况下,我需要实体框架中的外键和导航属性

前端之家收集整理的这篇文章主要介绍了c# – 在什么情况下,我需要实体框架中的外键和导航属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的订单类有:
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公开.

猜你在找的C#相关文章