小编K R*_*ing的帖子

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

我的实体是:

class Resource
{
    string Name;
    string EmployeeId;
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

Resource[] FindResourcesByEmployees(string[] employeeIds)
{
    return this.Session.Query<Resource>()
        .Where(r => employeeIds.Any(v => v == r.EmployeeId))
        .ToArray();
}
Run Code Online (Sandbox Code Playgroud)

抛出NotSupportedException:不支持表达式类型:System.Linq.Expressions.TypedParameterException.

在SQL中它将是这样的:

SELECT * FROM resource WHERE employeeid IN (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何在RavenDB中执行此查询?

ravendb

30
推荐指数
1
解决办法
5029
查看次数

如何在RavenDB中查询嵌套信息?

我有以下文件叫做预订:

{
    "CustomerId": 1,
    "Items": [
        {
            "EmployeeId": "employees/1",
            "StartTime": "2011-08-15T07:20:00.0000000+03:00",
            "EndTime": "2011-08-15T07:40:00.0000000+03:00"
        },
        {
            "EmployeeId": "employees/1",
            "StartTime": "2011-08-15T07:40:00.0000000+03:00",
            "EndTime": "2011-08-15T09:10:00.0000000+03:00"
        },
        {
            "EmployeeId": "employees/3",
            "StartTime": "2011-08-16T07:20:00.0000000+03:00",
            "EndTime": "2011-08-16T11:35:00.0000000+03:00"
        }
    ]
    "ReservedAt": "2011-10-20T15:28:21.9941878+03:00"
}
Run Code Online (Sandbox Code Playgroud)

另外我有以下投影类:

public class ReservationItemProjection
{
    public string ReservationId { get; set; }
    public string CustomerId { get; set; }
    public string EmployeeId { get; set; }
    public DateTime StartTime { get; set; }
    public DateTime EndTime { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果我想找到匹配的ReservationItemProjections,我会写什么样的索引和查询?例如:

// invalid example query: …
Run Code Online (Sandbox Code Playgroud)

indexing ravendb

6
推荐指数
1
解决办法
1975
查看次数

标签 统计

ravendb ×2

indexing ×1