当我在MVC应用程序中保存数据时,这是错误消息
已成功提交对数据库的更改,但更新对象上下文时发生错误。 ObjectContext可能处于不一致状态。内部异常消息:在强制执行参照完整性约束时检测到循环关系路径。不能在循环关系上强制执行参照完整性。
答案 0 :(得分:0)
我过去曾在实体框架中遇到过这样的问题:
由于在新的上下文中没有跟踪对象#1的状态,因此给出了循环引用警告。
要解决此问题,请尝试使用DbSet(Of T).Attach方法,如下面的代码所示:
Using ctx = New AtlasEntities
modelDefinition = Await ctx.ModelDefinitions.First(Function(f) f.Id=Id)
End Using
ModelResult = modelDefinition.DoSomeWork()
Using ctx As New AtlasEntities
ctx.ModelDefinitions.Attach(modelDefinition)
ctx.ModelResults.Add(ModelResult)
Dim success = Await ctx.SaveChangesQuickly.ConfigureAwait(False)
End Using