代码之家  ›  专栏  ›  技术社区  ›  4imble

什么导致POCO代理实体有时只能在实体框架4中创建?

  •  1
  • 4imble  · 技术社区  · 16 年前

    我已经设置了我的POCO,并且我已经将它们的公共属性标记为虚拟的,并且我大部分时间(95%)都成功地获得了代理,但是随机地,我得到的EF返回了一些代理和一些非代理。

    如果发生这种情况,回收应用程序池将修复此错误实例,并在一段时间内消失。然后它将在其他随机(看起来)的地方重新出现。

    什么会导致这种行为?

    alt text http://www.freeimagehosting.net/uploads/36c95af3c7.jpg

    谢谢,Kohan

    1 回复  |  直到 16 年前
        1
  •  0
  •   4imble    16 年前

    解决它(我养成了几乎放弃的习惯,在这里张贴然后解决它)

    总之,当我添加一个新问题时,我使用了 var q = new Question() 然后将其存储为非代理。最后,我在ObjectContext上创建了一个新的问题,就像这样发现的。 var q = ObjectContext.CreateObject<Question>(); 使它成为一个代理,并且工作得很好。

    希望这能帮助别人,
    干杯,
    Kohan。

    一个有用的来源: http://blogs.msdn.com/b/adonet/archive/2009/06/10/poco-in-the-entity-framework-part-3-change-tracking-with-poco.aspx (阅读评论)