我在我的应用程序的数据层上使用LINQ to SQL。我对提交更改有一些奇怪的“类型”错误。这是我的代码的一部分:
try
{
dataContext.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch (ChangeConflictException)
{
foreach (ObjectChangeConflict conflict in dataContext.ChangeConflicts)
{
foreach(MemberChangeConflict memberConflict in conflict.MemberConflicts)
{
memberConflict.Resolve(RefreshMode.KeepCurrentValues);
}
}
}
它始终正常,所有冲突都成功解决。但是现在我遇到了冲突,其中有冲突.MemberConflicts = 0. ChangeConflictException没有关于冲突的信息,Inner Exception为null。所以我不知道为什么我会遇到这种冲突以及我与它有什么关系。 这也没有帮助:
conflict.Resolve(RefreshMode.KeepCurrentValues);
只有我注意到的事情,当我尝试从数据库中删除实体时会发生这种情况。但是这个代码适用于其他情况下的删除。 我知道关于我的问题的信息很少,但也许有人可以给我建议我需要检查的内容?
答案 0 :(得分:0)
我找到了解决方案,但这不是一个好的解决方案。只需在两个不同的提交更改中单独更新和删除。首先我做了所有更新,然后删除。它有效。但我仍然不知道,为什么这不能在一次提交中合作。