LINQ中的DataContext SubmitChanges

时间:2010-07-21 01:35:54

标签: c# linq-to-sql

当您不确定数据是否已更改时,调用SubmitChanges()是否安全?它实际上做了什么?

3 个答案:

答案 0 :(得分:3)

这是安全的,但你应该自己做一些测试。我总是将DataContext上的.Log属性设置为log to the debug window。您可能会发现您正在进行您不想要的更新,因为数据已经以您没想到的方式发生了变化。看看正在生成什么SQL以及发生了多少数据库调用总是很好。

答案 1 :(得分:1)

是的,它很好,你只是不会发生任何事情,但它不会伤害任何东西。它基本上将您的更改转换为适当的SQL并对数据库执行命令。

答案 2 :(得分:1)

是的,这是安全的。从本质上讲,LINQ-> SQL将检查跟踪对象的集合以进行更改。如果检测到任何更改,它将开始一个事务并应用更改。如果没有变化,它将什么都不做。

有关SubmitChanges的操作顺序,请参阅此MSDN article

请记住,该方法称为SubmitChanges - 意味着它只会提交对实体所做的更改。