使用LINQ to SQL更新单个列

6

我有一个包含多个列的表格,我想仅更新其中一列。我正在编写一个方法,该方法首先获取记录并通过更改该列的值来更新它。就像这样:

using (myDC...)
{
  var recordInDB = (from...
                    where ....
                    select r).SingleOrDefault();

  if (recordInDB != null)
  {
     recordInDB.MyColumn = newValue;

     myDC.SubmitChanges();
  }

这个操作只会更新我想要修改的那一列,而不会影响其他列吗?还是会清空所有列,并用新值更新 MyColumn 列?
2个回答

6

这不会改变表格中的其他列,只会更新你正在修改的那一列。


4

这将保持你在读取时没有更改的列与数据库中的列保持一致。

在调用SubmitChanges时,LINQ2SQL比较对象字段中的值与数据库中的值,并仅更新已更改的值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接