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公开.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...