У меня есть таблица данных с кучей записей, заполненных данными датчиков.Чтобы избежать повторяющихся записей, в запросе использовался условный оператор.При использовании метода execute Dapper возвращается отрицательный, сообщающий, что строки не были изменены.
var result = dbConnection.Execute("...", new { Id = 1 });
Поскольку таблица не имеет первичного ключа, поскольку третья сторона возвращает идентификатор строки.Когда я выполняю приведенный выше код со следующим запросом.
IF (0 >= (SELECT COUNT(*) FROM [dbo].[...] WHERE @Id = [Id]))
BEGIN
INSERT INTO [dbo].[...] (
[Id]
) VALUES (
@Id
)
END
Dapper вернет отрицательный для затронутых строк, но фактически вставит запись.Если я выполню следующий запрос:
INSERT INTO [dbo].[...] (
[Id]
) VALUES (
@Id
)
Dapper вернет положительный, указывая, что строка была затронута.Есть ли у Dapper ограничение на обработку условных выражений?Как я могу получить истинное представление для затронутых строк.