【问题标题】:An entity object cannot be referenced by multiple instances of IEntityChangeTracker一个实体对象不能被多个 IEntityChangeTracker 实例引用
【发布时间】:2011-10-12 09:20:33
【问题描述】:

我在尝试更新实体时收到以下错误, 'IEntityChangeTracker 的多个实例不能引用实体对象' 代码运行方式为,

        dbUsers.Users.MergeOption = MergeOption.NoTracking;
        dbUsers.Users.Attach(user);
        dbUsers.ObjectStateManager.ChangeObjectState(user, System.Data.EntityState.Modified);
        dbUsers.SaveChanges();

请帮我摆脱它。

【问题讨论】:

  • 看看这篇文章,也许它可以阻止你。 stackoverflow.com/questions/620084/…
  • User 是要添加的对象实体。我找到了一个解决方案,在附加实体之前应该分离。请回复,如果有更好的解决方案。

标签: entity-framework


【解决方案1】:

如果您使用相同的 Context*(dbUsers)* 任何地方最好使用 context*(dbUsers)* 作为单例实例。

这将确保一个类只有一个实例并提供对其的全局访问点

检查这个:http://www.dofactory.com/Patterns/PatternSingleton.aspx#_self1

【讨论】:

    猜你喜欢
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多