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

时间:2017-05-30 06:33:29

标签: asp.net .net sql-server ado.net entity-framework-4

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

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

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

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

所以我的问题是,我如何才能获得更新的行数?

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

1 个答案:

答案 0 :(得分:2)

  

int count = DBContext.ExecuteStoreCommand(“”);

我认为你要改变它以返回选择结果集

然后这样做,

<sql query to update> 
Select @@RowCount rowcountAffected

或者 假设你的更新是

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

返回受影响行的最有效方法可以是

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

Put Set Nocount ON
Declare @Output parameter inside proc