【问题标题】:How to make a subquery using RQL (Raven Query Language)?如何使用 RQL(Raven 查询语言)进行子查询?
【发布时间】:2021-08-19 07:29:24
【问题描述】:

我在数据库实体之间有这种关系:

Entity1
- Name
...

Entity2
- Entity1FK
...

我想要做的是在 RavenDB Studio 中使用 RQL 查询所有 Entity2,其中 Entity1 具有相应的名称。

这是一个无效的 RQL 查询,但显示了我想要做什么:

from Entity2
where Entity1FK in (
    from Entity1
    where Name = "name"
    select Id
)  

我想获取具有 Name“名称”的 Entity1 的所有 ID,并在同一查询中使用这些 ID。那么,如何在 RQL 中进行子查询呢?在文档中找不到这个:(

【问题讨论】:

    标签: ravendb ravendb4


    【解决方案1】:

    您想要的是Related Documents 概念: 看:

    创建相关文档
    https://demo.ravendb.net/demos/csharp/related-documents/create-related-documents

    加载相关文档
    https://demo.ravendb.net/demos/csharp/related-documents/load-related-documents

    查询相关文档
    https://demo.ravendb.net/demos/csharp/related-documents/query-related-documents

    您可以像这样在RQL中访问包含文档的数据:

    from "Orders" as o
    load o.Company as c
    select {
        CompanyName: c.Name
    }
    

    【讨论】:

    • 有没有办法只使用 RQL 来实现这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多