【发布时间】:2012-11-06 17:42:51
【问题描述】:
我对 EF 4 中的 poco 类有疑问。
我有一个 Order 实体,其中包含一个 Customer 实体的外键。
因此,Order 类有一个 Customer 类型的导航属性。
看起来像这样:
public class Order
{
public virtual int Id { get; set; }
public virtual CustomerId { get; set; }
public virtual Customer customer { get; set;}
…
}
当我加载订单时,导航属性customer是正确的,但是如果CustomerId属性发生变化,导航属性不会随着新客户刷新。
如果我在 EF 上下文中调用 DetectChanges() 方法,则会刷新导航属性。
我读过所有属性都标记为虚拟,关系同步是自动的,但这里不是这样。
我哪里做错了?
感谢您的帮助
【问题讨论】:
-
我刚刚对此进行了测试,对我来说它按预期工作。你能显示更多细节吗?您正在运行的查询和后续代码,直到您更改 FK 属性、您正在使用的确切 EF 版本以及是否为 ObjectContext 或 DbContext 等。如果加载的订单和客户是动态代理,请在调试器中检查。
标签: entity-framework poco navigation-properties