仅获取更新查询的结果

时间:2014-07-25 12:45:50

标签: c# sql-server

当我在SQL Server数据库上执行更新时,我得到了受更新 AND 影响的行影响的行的结果。

例如,直接在数据库上执行更新:

UPDATE: (32 row(s) affected)
Trigger1: (1 row(s) affected)
Trigger2: (2 row(s) affected)
...

现在当我执行_context.Database.ExecuteSqlCommand(query, params)时,我总是得到所有结果的总和,在我的例子中,结果值是35

在我的示例UPDATE中,我只需要32的结果。

是否有可能忽略触发器的结果?

2 个答案:

答案 0 :(得分:3)

SET NOCOUNT ON放在触发器的第一行。

答案 1 :(得分:2)

我认为@ Alireza的答案最有意义,如果它可以更改触发器,但如果不是,你可以更改数据库调用来执行update语句并返回{{ 1}}?

@@ROWCOUNT

我无法在MSDN上找到任何文档,但this question确认@@ ROWCOUNT不受触发器影响。