仅获取更新查询的结果

Obl*_*obl 5 c# sql-server

当我在我的SQL Server数据库执行更新,我得到受更新的行的结果一些触发器的影响行.

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

UPDATE: (32 row(s) affected)
Trigger1: (1 row(s) affected)
Trigger2: (2 row(s) affected)
...
Run Code Online (Sandbox Code Playgroud)

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

UPDATE在我的例子中,我只需要结果32.

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

pet*_*ids 2

我认为如果可以更改触发器,@Alireza 的答案是最有意义的,但如果不能,您可以更改数据库调用来执行更新语句并返回吗@@ROWCOUNT

_context.Database.SqlQuery<int>("update xx ...; select @@ROWCOUNT");
Run Code Online (Sandbox Code Playgroud)

我在 MSDN 上找不到任何文档,但这个问题证实了 @@ROWCOUNT 不受触发器的影响。