Липкая ручка условной логики - PullRequest
0 голосов
/ 26 апреля 2018

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

...