Dapper - перечисляемая последовательность параметров не допускается - PullRequest
0 голосов
/ 26 апреля 2019

Dapper продолжает выдавать мне следующую ошибку

System.InvalidOperationException: «Перечислимая последовательность параметров (массивы, списки и т. Д.) Не допускается в этом контексте»

Вот код:

var ids = result.Result.Select(x => new { x.Id } );

 query = @"
        SELECT [A], [B], [C]
        FROM [MyTable]
        WHERE [C] IN @Ids
    ";

var resultTwo = Connection.Query<MyObject>(query, ids)?.ToList();

Я также пробовал:

    var ids = result.Result.Select(x => x.Id );

1 Ответ

1 голос
/ 26 апреля 2019

Я могу выполнить запрос, подобный вашему, с помощью DynamicParameters

var ids = Enumerable.Range(1, 100).ToList();
var parameters = new DynamicParameters();
parameters.Add("@ids", ids);
var recs = cnn.Query<City>("SELECT * FROM Cities Where IDCity in @ids", parameters);

Это заставляет меня думать, что (как уже объяснено в комментарии выше) проблема в пропущенном new {ids} так что это может быть просто

var resultTwo = Connection.Query<MyObject>(query, new { ids} )?.ToList();
...