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

时间:2012-11-06 17:42:52

标签: entity-framework poco navigation-properties

我在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;}
     …
}

当我加载订单时,导航属性客户是正确的,但如果CustomerId属性更改,则不会使用新客户刷新导航属性。

如果我在EF上下文中调用DetectChanges()方法,则会刷新导航属性。

我已经读过,所有属性都标记为虚拟,关系同步是自动的,但在这里并非如此。

我哪里出错了?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这意味着由于某种原因,没有为您的实体创建代理。看一下这篇博客文章 - http://blogs.msdn.com/b/adonet/archive/2009/12/22/poco-proxies-part-1.aspx。以下是创建代理的要求:http://msdn.microsoft.com/en-us/library/vstudio/dd468057(v=vs.100).aspx。不得禁用代理创建。