我使用以下代码更新我的用户表。问题是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
这是预期的行为吗?
答案 0 :(得分:1)
Dapper不提供此结果,它只提供您的DBMS认为适合提供的内容。显然,您的DBMS返回已更改的行数,不包括已与更改匹配的行。不同的DBMS实现不同的解决方案以获得有关所做更新的更多信息。您将需要查找特定DBMS的文档以了解如何获取此文档。