使用列表作为条件的 Ravendb 查询

Ravendb query using a list as criteria

请有人帮忙解决这个问题。我正在尝试获取从索引返回的列表,其中 id 与给定列表中的任何 id 匹配。我试过:

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个,在投影部分失败了。)

这应该有效:

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