【问题标题】:Problems Querying nested lists in RavenDB在 RavenDB 中查询嵌套列表的问题
【发布时间】:2014-10-09 19:24:04
【问题描述】:

我想将 RavenDB 用于我正在做的项目,但在此之前,我需要弄清楚如何查询嵌套对象...让我解释一下 我有这样的课:

public class Customer
{
 public string Id { get; set; }
 public string Name { get; set; }
 public IList<Orders> { get; set; }
}

然后是 Order 类:

public class Order
{
 public int OrderNumber { get; set; }
 public decimal OrderAmount { get; set; }
 public bool CustomerBilled { get; set; }
}

我创建了一堆假数据并将其添加到 Raven —— 一些客户的订单仅将 CustomerBilled 设置为 true,一些 CustomerBilled 设置为 false,还有一些在 CustomerBilled 上混合了 true 和 false。

我需要帮助的是,弄清楚如何提取 1 个或多个带有 CustomerBilled 的 Orders 设置为 false 的客户列表。

我将如何创建一个查询来做到这一点?我似乎无法让一个人工作,我也不知道该怎么做。

【问题讨论】:

    标签: c# ravendb


    【解决方案1】:

    RavenDB 中的dynamic queries 可以处理这个问题,我认为下面应该做你想做的(抱歉我现在无法编译代码来验证)

    // List of objects - linq
    from doc in Customers
    where doc.Orders.Any( order => order.CustomeBilled == false)
    select doc;
    

    编辑:在新链接上,向下滚动到“更多过滤选项”部分

    【讨论】:

    • 太棒了,这行得通-我只需将其稍微更改为以下内容: var item = from doc in session.Query() where doc.Orders.Any(y => y.CustomerBilled== false) 选择文档;
    • 哦,是的,我写的是纯文本索引,而不是实际的 LINQ 查询。很高兴你让它工作
    • 您的“动态查询”链接现在指向 RavenDB 站点上的“找不到页面”消息。
    猜你喜欢
    • 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
    相关资源
    最近更新 更多