我的数据库中有两列:
[Column]
public string Message1
{
get
{
return _message1;
}
set
{
if (_message1 != value)
{
NotifyPropertyChanging("Message1");
_message1 = value;
}
}
}
[Column(CanBeNull = true, UpdateCheck = UpdateCheck.Never)]
public string Message2
{
get
{
return _message2;
}
set
{
if (_message2 != value)
{
NotifyPropertyChanging("Message2");
_message2 = value;
}
}
}
在更新两个值并提交更改时,我得到以下异常:
An exception of type 'System.InvalidOperationException' occurred in System.Data.Linq.ni.dll but was not handled in user code
但如果我一个接一个地更改并提交它们就可以了。这是一个失败的并发检查吗?我怎么能阻止这个?请帮忙。
更新
一个接一个地我的意思是如果我先改变Message1并提交更改,那么对message2进行更改并提交它可以工作的更改,但是如果对message1和message2都进行了更改,然后只提交一次就会给出上述异常并提交失败。
更新
StackTrace:在调用SubmitChanges期间无法执行操作 在System.Data.Linq.DataContext.CheckNotInSubmitChanges() 在System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
更新
如果我从Message2中删除NotifyPropertyChanging,它就可以了。而且这种变化也反映在数据库中。知道怎么样?