更新表的两个列值以给出异常

时间:2013-12-31 04:08:13

标签: c# database linq windows-phone-7 windows-phone

我的数据库中有两列:

[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,它就可以了。而且这种变化也反映在数据库中。知道怎么样?

0 个答案:

没有答案