使用列表作为条件的 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();
请有人帮忙解决这个问题。我正在尝试获取从索引返回的列表,其中 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();