Dapper e in condizione

dapper sqlexception

Domanda

Usando Dapper, la seguente 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, l'SQL non ha virgole. Deve avere qualcosa a che fare con il parametro. OriginZip e DestZip sono varchar(10) . zips è IEnumerable<int> . Ho provato a usare le zips come parametro senza la conversione in stringhe. Lo stesso errore.

Sembra molto semplice. Che cosa sto facendo di sbagliato?

Risposta accettata

provare:

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 });


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché