Linq DataContext.ExecuteCommand 和 SaveChanges
Linq DataContext.ExecuteCommand and SaveChanges
我目前正在阅读一些使用 LinqToSQL 中的 DataContect.ExecuteCommand
的代码。
我主要关心的是此 ExecuteCommand
的更改何时发生在数据库上。在我调用 ExecuteCommand
或调用 SaveChanges
时会立即发生吗?
一旦您调用该方法,它就会直接发生并针对数据库执行命令,来自 ExecuteCommand
:
的文档
Executes SQL commands directly on the database.
因此你不应该将 SaveChanges()
与 ExecuteCommand
方法一起使用,因为在你想直接执行命令的情况下 ExecuteCommand
被用作 SaveChanges()
的替代方法到数据库。例如:
int result = DatabaseContext.ExecuteCommand("delete from blahblah = {0}", entity.Id));
我目前正在阅读一些使用 LinqToSQL 中的 DataContect.ExecuteCommand
的代码。
我主要关心的是此 ExecuteCommand
的更改何时发生在数据库上。在我调用 ExecuteCommand
或调用 SaveChanges
时会立即发生吗?
一旦您调用该方法,它就会直接发生并针对数据库执行命令,来自 ExecuteCommand
:
Executes SQL commands directly on the database.
因此你不应该将 SaveChanges()
与 ExecuteCommand
方法一起使用,因为在你想直接执行命令的情况下 ExecuteCommand
被用作 SaveChanges()
的替代方法到数据库。例如:
int result = DatabaseContext.ExecuteCommand("delete from blahblah = {0}", entity.Id));