在LINQ to SQL中更新单个列

时间:2012-02-15 14:31:19

标签: c# .net linq linq-to-sql

我有一个包含多列的表,我只想更新一列。我正在编写一个方法,首先获取记录,然后通过更改列的值来更新它。像这样:

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

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

     myDC.SubmitChanges();
  }

这会保留所有其他列,只更新我要更改的列,还是要清除所有列并使用新值更新MyColumn列?

2 个答案:

答案 0 :(得分:6)

这不会更改表格中的其他列。只有你要更新的那个。

答案 1 :(得分:4)

这将保留您在阅读时没有触及它们在数据库中的方式的列。

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