Entity framework 实体框架POCO-导航属性不刷新

Entity framework 实体框架POCO-导航属性不刷新,entity-framework,poco,navigation-properties,Entity Framework,Poco,Navigation Properties,我对EF4中的poco类有意见 我有一个订单实体,其中包含客户实体的外键 因此,Order类具有Customer类型的导航属性 看起来是这样的: public class Order { public virtual int Id { get; set; } public virtual CustomerId { get; set; } public virtual Customer customer { get; set;} … } 当我加载订单时,

我对EF4中的poco类有意见

我有一个订单实体,其中包含客户实体的外键

因此,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等。另外,请在调试器中检查加载的顺序和客户是否为动态代理。感谢这些有用的链接。它帮助我更好地理解代理的使用,并检查代码中可能出现的错误。最后,问题来自另一个导航属性,它没有得到很好的实现。