Problema de eliminación múltiple de dapper.net

c# dapper micro-orm

Pregunta

Estoy intentando eliminar de dos tablas con dos variables diferentes dentro de la clase de CA, pero aparece el siguiente mensaje de error:

Al utilizar las API de mapeo múltiple, asegúrese de configurar el parametro splitOn si tiene claves que no sean Id. Nombre del parámetro: splitOn

La instrucción sql se ejecuta bien cuando se captura el comando a través de SQL Profiler, por lo que estoy perplejo.

El código apuesto es:

 public void DeleteListCode(string listCodeId)
    {
       using (var block = new TransactionBlock())
       {
           // Get the code first
           const string sql = "SELECT ListCode from ListCodes WHERE id =@listCodeId";
           var code = TransactionBlock.Connection.Query<string>(sql, new {listCodeId}, TransactionBlock.Transaction)
              .FirstOrDefault();

           if (string.IsNullOrEmpty(code)) return;

           const string sql2 = "delete from Lists WHERE ListCode = @code " +
                               "delete from ListCodes where Id = @listCodeId";

            TransactionBlock.Connection.Query(sql2, new {listCodeId, code}, TransactionBlock.Transaction);
           block.Commit();
       }
    }

Logré utilizar una declaración de selección múltiple, pero esto es ligeramente diferente en el sentido de que utilizo dos parámetros anónimos.

Respuesta aceptada

La segunda operación debe usar Execute, no Query. No es una consulta, básicamente. Eso deberia ser todo lo que necesitas.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué