2010-07-21 77 views
1

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

+0

你在说什么LINQ?有不止一个。 – 2010-07-21 01:43:07

+0

linq to sql .... – Comma 2010-07-21 07:24:00

回答

3

这很安全,但你应该自己做一些测试。我始终将我的DataContext上的.Log属性设置为log to the debug window。您可能会发现您正在执行您无意更新的更新,因为数据已以您未曾预料的方式发生变化。观察生成的SQL以及发生多少次数据库调用总是很好的。

+1

+1给我介绍'.Log' – 2010-07-21 01:56:25

1

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

1

是的,这是安全的。从本质上讲,LINQ-> SQL将检查一组跟踪对象的更改。如果检测到任何更改,它将开始交易并应用更改。如果没有变化,它什么都不会做。

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

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