【发布时间】:2015-10-20 10:30:07
【问题描述】:
我目前正在阅读一些在 LinqToSQL 中使用DataContect.ExecuteCommand 的代码。
我主要关心的是这个ExecuteCommand 的更改何时发生在数据库上。当我打电话给ExecuteCommand 或当我打电话给SaveChanges 时,是否会发生这种情况?
【问题讨论】:
标签: c# sql linq linq-to-sql
我目前正在阅读一些在 LinqToSQL 中使用DataContect.ExecuteCommand 的代码。
我主要关心的是这个ExecuteCommand 的更改何时发生在数据库上。当我打电话给ExecuteCommand 或当我打电话给SaveChanges 时,是否会发生这种情况?
【问题讨论】:
标签: c# sql linq linq-to-sql
只要您调用该方法,它就会直接发生并针对数据库执行命令,来自ExecuteCommand 的文档:
直接在数据库上执行 SQL 命令。
因此,您不应将SaveChanges() 与ExecuteCommand 方法一起使用,因为ExecuteCommand 用作SaveChanges() 的替代方法,以防您想直接对数据库执行命令。例如:
int result = DatabaseContext.ExecuteCommand("delete from blahblah = {0}", entity.Id));
【讨论】: