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



请有人帮忙解决这个查询。我正在尝试获取从索引返回的列表,其中 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();

最新更新