Dapper y en condición

dapper sqlexception

Pregunta

Usando Dapper, lo siguiente arroja una Incorrect syntax near ',' .

const string sql = 
    "select * from ZipToZipDistance z where z.NoRouteFound = 0" +
    " and z.OriginZip in (@zips) or z.DestZip in (@zips)";
var zipStrings = zips.Select(x => x.ToString()).ToArray();
var result = connection.Query<ZipToZipDistance>(sql, 
    new { zips = zipStrings });

Hmm, el SQL no tiene comas. Debe tener algo que ver con el parámetro. OriginZip y DestZip son varchar(10) . zips es IEnumerable<int> . Intenté usar las zips como el parámetro sin la conversión a cadenas. Mismo error.

Parece muy sencillo. ¿Qué estoy haciendo mal?

Respuesta aceptada

tratar:

const string sql = 
const string sql = 
    "select * from ZipToZipDistance z where z.NoRouteFound = 0" +
    " and z.OriginZip in @zips or z.DestZip in @zips";
var zipStrings = zips.Select(x => x.ToString());
var result = connection.Query<ZipToZipDistance>(sql, 
    new { zips = zipStrings });


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow