我有一个包含多列的表,我只想更新一列。我正在编写一个方法,首先获取记录,然后通过更改列的值来更新它。像这样:
using (myDC...)
{
var recordInDB = (from...
where ....
select r).SingleOrDefault();
if (recordInDB != null)
{
recordInDB.MyColumn = newValue;
myDC.SubmitChanges();
}
这会保留所有其他列,只更新我要更改的列,还是要清除所有列并使用新值更新MyColumn列?
答案 0 :(得分:6)
这不会更改表格中的其他列。只有你要更新的那个。
答案 1 :(得分:4)
这将保留您在阅读时没有触及它们在数据库中的方式的列。
On SubmitChanges
调用LINQ2SQL将对象字段中的值与数据库中的值进行比较,并仅更新已更改的值。