gpt4 book ai didi

ravendb - RavenDB:如何使用多个搜索词进行查询

转载 作者:行者123 更新时间:2023-12-03 09:02:21 28 4
gpt4 key购买 nike

我的实体是:

class Resource
{
string Name;
string EmployeeId;
}

如何查询多名员工的资源?我尝试了这个:

Resource[] FindResourcesByEmployees(string[] employeeIds)
{
return this.Session.Query<Resource>()
.Where(r => employeeIds.Contains(r.EmployeeId))
.ToArray();
}

但是,这给了我NotSupportedException:不支持的方法:包含。然后我尝试了以下方法:

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中执行此查询?

最佳答案

您可以使用In运算符。如果我没记错的话,您的代码应如下所示:

using Raven.Client.Linq;

Resource[] FindResourcesByEmployees(string[] employeeIds)
{
return this.Session.Query<Resource>()
.Where(r => r.EmployeeId.In<string>(employeeIds)))
.ToArray();
}

关于ravendb - RavenDB:如何使用多个搜索词进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899936/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com