我的实体是:
class Resource
{
string Name;
string EmployeeId;
}
如何查询多个员工的资源?我尝试了这个:
Resource[] FindResourcesByEmployees(string[] employeeIds)
{
return this.Session.Query<Resource>()
.Where(r => employeeIds.Contains(r.EmployeeId))
.ToArray();
}
然而,这给我带来了NotSupportedException: Method not supported: Contains。然后我尝试了以下方法:
Resource[] FindResourcesByEmployees(string[] employeeIds)
{
return this.Session.Query<Resource>()
.Where(r => employeeIds.Any(v => v == r.EmployeeId))
.ToArray();
}
这会抛出NotSupportedException异常:表达式类型不支持:System.Linq.Expressions.TypedParameterException。
在SQL中,它可能是这样的:
SELECT * FROM resource WHERE employeeid IN (1, 2, 3)
我的问题是,如何在RavenDB中执行这个查询?