Более подходящее условие IN в массиве, не существует сопоставления между типом объекта System.Collections.Generic.List`1 и собственным типом известного управляемого поставщика - PullRequest
0 голосов
/ 06 июня 2018

Я думаю, что следую решению из этого поста , но я не уверен, почему я получаю эту ошибку: не существует сопоставления от типа объекта System.Collections.Generic.List`1 для известного управляемогородной тип провайдера

Это мой код:

public virtual IEnumerable<MyModel> QueryAllById(ICollection<string> ids)
{
    var sql = mySelectQuery + @"
                    WHERE SomeId IN @Ids                            
            ";            
    return Db.Query<MyModel>(sql, new { Ids = new[] { ids } });
}

1 Ответ

0 голосов
/ 06 июня 2018

Вы можете конвертировать ICollection в массив.

public virtual IEnumerable<MyModel> QueryAllById(ICollection<string> ids)
{
    var sql = mySelectQuery + @"
                    WHERE SomeId IN @Ids                            
            ";            
    return Db.Query<MyModel>(sql, new { Ids = ids.ToArray() });
}
...