Linq to SQL - SubmitChanges函数

时间:2014-05-10 14:09:50

标签: c# sql linq

文档说,SubmitChanges仅更新已更改的值。

我的问题究竟是什么意思? 让我们举一个简单的例子:

row.Variable = 5;   ( row.Variable contained 4 before change )

这对我来说很清楚。它会更新。那怎么样?

row.Variable = 5;   ( row.Variable contained 5 before change )

那么,它会更新,因为我将其更改为相同的值或它知道它是相同的,它不会更新? 谢谢:))

2 个答案:

答案 0 :(得分:1)

SubmitChanges将更新与存储的值相关的值。 你可以签出这个给你answare的功能:

DataContext db = new DataContext();

... //do some thing

var changeSet = db.GetChangesSet();
var updatesCount = changeSet.Updates.Count;

这将显示更改计数(如果有)。

答案 1 :(得分:0)

  

SubmitChanges仅更新已更改值。

强调我的

如果没有任何变化,我认为它不会更新,因为 nothing 是过度的。

因此,只有在值与已存储的值不同时才会更新。如果没有,那就是糟糕的设计。