.net 在引发异常后使用objectContext
请参见此场景: 1-我在多个业务逻辑层类之间共享一个ObjectContext实例,以避免在使用多个对象上下文时出现标识和跟踪问题 2-类的对象尝试创建和插入实体,但发生异常(由于外键约束、唯一键约束或任何其他原因) 3-另一个类的另一个对象尝试插入另一个没有问题的实体 这里会引发异常,因为ObjectContext实例仍在跟踪第一个对象,并在调用SaveChanges()时再次尝试插入它 我知道一种解决方案是在异常发生时取消附加导致异常的对象,但我希望防止开发人员编写错误代码影响应用程序中其他类的行为.net 在引发异常后使用objectContext,.net,entity-framework,.net,Entity Framework,请参见此场景: 1-我在多个业务逻辑层类之间共享一个ObjectContext实例,以避免在使用多个对象上下文时出现标识和跟踪问题 2-类的对象尝试创建和插入实体,但发生异常(由于外键约束、唯一键约束或任何其他原因) 3-另一个类的另一个对象尝试插入另一个没有问题的实体 这里会引发异常,因为ObjectContext实例仍在跟踪第一个对象,并在调用SaveChanges()时再次尝试插入它 我知道一种解决方案是在异常发生时取消附加导致异常的对象,但我希望防止开发人员编写错误代码影响应用程序中其他
有什么线索吗?听起来你好像把ObjectContext保留了很长一段时间,并在多个工作单元中使用它们。这些较长的使用寿命将准确地介绍您描述的各种问题。解决问题的一个可能的方法是在操作失败时处理ObjectContext,并为下一个操作实例化新的ObjectContext。请注意,我并不建议在应用程序中同时使用多个ObjectContext。在看不到应用程序的情况下,很难说应该如何设计应用程序,但您描述的症状表明,试图同时使用同一ObjectContext处理太多事情。我同意这一点。。。我想你得重新考虑你的设计。