使用Dapper更新请求

时间:2018-05-21 11:29:58

标签: dapper

我使用以下代码更新我的用户表。问题是updated当使用的数据与数据库中的数据相同时返回0,否则返回1。

var query = @"UPDATE users SET
                firstname = @firstname,
                lastname = @lastname
                WHERE id = @userId";
var updated = await con.ExecuteAsync(query,
    new
    {
        firstname = user.firstname,
        lastname = user.lastname,
        userId = user.id
    });
return updated > 0;
  

例如:

     

第一次尝试:firstname =“John”,lastname =“Doe”,userId = 1

     

结果= 1

     

第二次尝试:firstname =“John”,lastname =“Doe”,userId = 1

     

结果= 0

     

第3次尝试:firstname =“Johny”,lastname =“Doe”,userId = 1

     

结果= 1

这是预期的行为吗?

1 个答案:

答案 0 :(得分:1)

Dapper不提供此结果,它只提供您的DBMS认为适合提供的内容。显然,您的DBMS返回已更改的行数,不包括已与更改匹配的行。不同的DBMS实现不同的解决方案以获得有关所做更新的更多信息。您将需要查找特定DBMS的文档以了解如何获取此文档。