如何获取 .net 中查询更新的行数

How to get number of rows updated by a query in .net

在我的数据库中,我有一个触发器,它在更新 Table tblA 中的一行时插入更改日志条目。

现在,在我的代码中,我必须通过像

这样的普通Sql查询来更新它
int count = DBContext.ExecuteStoreCommand("<sql query to update records>");

此计数变量包含由于查询而受影响的行数(更新的行数 + 插入的行数)。

所以我的问题是,我怎样才能只获得更新的行数?

目前我正在使用Entity framework 4.我已经通过连接或断开连接的模型寻找解决方案,但无法帮助自己。

int count = DBContext.ExecuteStoreCommand("");

我认为您需要将其更改为 return Select 结果集

然后这样做,

<sql query to update> 
Select @@RowCount rowcountAffected

或者 假设你的更新是

update table1 set col1='foo' where id=2
select count(*) rowcountAffected from table1 where id=2

影响 return 行的最有效方法可以是

i) 假设你只更新(之后不刷新任何记录)

Put Set Nocount ON
Declare @Output parameter inside proc