17

Dapperを使用すると、次のようになります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 });

うーん、SQLにはコンマがありません。それはパラメータと関係があるに違いありません。 OriginZipDestZipですvarchar(10)zipsですIEnumerable<int>zips文字列に変換せずにパラメータとして使ってみました。同じエラー。

非常に簡単なようです。私は何が間違っているのですか?

4

1 に答える 1

15

試す:

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 });
于 2012-04-20T14:21:04.943 に答える