我正在使用C#的ASP.NET,并尝试使用linq to sql更新数据上下文,就像上面链接的博客所展示的那样。我按照说明在表中创建了时间戳字段,并使用以下方法:
private void updateRecord(TableName updatedRecord)
{
context db = new context();
db.TableName.Attach(updatedRecord,true);
db.SubmitChanges();
}
我的问题是,在调用数据上下文的Attach方法之前,您是否应该将timeStamp字段分配给updatedRecord中的任何内容?
当我运行此代码时,我会收到以下异常:System.Data.Linq.ChangeConflictException: Row not found or changed.
我在传递对象到此更新方法之前更新了所有字段,包括要更新的记录的主键。在调试期间,对象的TimeStamp属性显示为空。我不确定它是否应该这样。
我拥有的每一本书和资源都说这是正确的方法,但它们都没有详细讲述这个TimeStamp属性。
我知道这很快很容易解决,如果有人知道,请告诉我。