Обновить запрос с помощью Dapper - PullRequest
0 голосов
/ 21 мая 2018

Я использую следующий код для обновления моей пользовательской таблицы.Проблема в том, что 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;

Например:

1-я попытка:firstname = "John", lastname = "Doe", userId = 1

Result = 1

2-я попытка: firstname = "John", lastname = "Doe", userId = 1

Result = 0

3-я попытка: firstname = "Johny", фамилия = "Doe", userId = 1

Result = 1

Isэто ожидаемое поведение?

1 Ответ

0 голосов
/ 22 мая 2018

Dapper не предоставляет этот результат, он только обеспечивает то, что ваша СУБД считает нужным.Очевидно, ваша СУБД возвращает количество измененных строк, не считая тех, которые уже соответствуют изменению.Различные СУБД реализуют разные решения, чтобы получить больше информации о сделанных обновлениях.Вам нужно будет найти документацию для вашей конкретной СУБД, чтобы узнать, как ее получить.

...