Запрос Ravendb с использованием списка в качестве критерия - PullRequest
0 голосов
/ 30 мая 2018

Пожалуйста, кто-нибудь может помочь с этим запросом.Я пытаюсь получить список, возвращаемый из индекса, где идентификатор совпадает с любым идентификатором в данном списке.Я пробовал:

var members =  session.Query<MembersNameIdIndex.Result, MembersNameIdIndex>()
                      .Where(x => list.Any(y => y == x.Id))
                      .AsProjection<MembersNameIdIndex.Result>()
                      .ToList();

и

var members =  from m in session.Query<MembersNameIdIndex.Result, MembersNameIdIndex>()
                where list.Any(y => y == m.Id)
                select m;              
var projection = members.AsProjection<MembersNameIdIndex.Result>()
                          .ToList();

и

var members =  from m in session.Query<MembersNameIdIndex.Result, MembersNameIdIndex>()
            where list.Contains(m.Id)
            select m;
var projection = members.AsProjection<MembersNameIdIndex.Result>()
                      .ToList();

Ошибка всегда одинакова: Expression type not supported: System.Linq.Expressions.TypedParameterExpression (Для последних 2,это терпит неудачу на проекционной части.)

1 Ответ

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

Это должно работать:

var members =  from m in session.Query<MembersNameIdIndex.Result, MembersNameIdIndex>()
            where m.Id.In(list)
            select m;
var projection = members.AsProjection<MembersNameIdIndex.Result>()
                      .ToList();
...