【问题标题】:Embedded RavenDb Query on Index索引上的嵌入式 RavenDb 查询
【发布时间】:2013-05-27 13:25:41
【问题描述】:

我在玩 RavenDb 我有一个非常简单的类,其中包含一个集合,我试图返回包含的集合具有超过 1 条记录的所有对象,似乎无法使其工作。

注意:我在 LinqPad 中使用 In-Memory Embedded 文档存储,从 RDBMS 读取一些数据并插入到 In-Memory 存储中(如果我只是 Query<Agency>().Take(100) 我看到了我的记录,这可行...

有什么想法吗?

下图只是为了表明数据库确实包含我的数据...

【问题讨论】:

    标签: c# ravendb linqpad


    【解决方案1】:

    好的,我已经想通了,不能说我完全理解它......但是......

    PopulateRavenInMemory();
    DatabaseCommands.PutIndex("MultipleAddresses",  
        new IndexDefinitionBuilder<Agency>
    {
        Map = agencies => from a in agencies
                        where a.Addresses.Count() > 1
                        select new {}
    });
    Query<Agency>("MultipleAddresses").Customize(x => x.WaitForNonStaleResultsAsOfNow()).Dump();
    

    我理解 WaitForNonStaleResults 调用,这是有道理的,但我真的不明白为什么我的 Map 函数无法选择类,它似乎需要投影,我可以继续,但我讨厌不知道为什么会这样.

    【讨论】:

    • 因为它需要知道要索引哪些字段
    • @AyendeRahien 啊,好的。那么在这种情况下我应该使用空投影吗?还是创建一个计数变量并返回它会更好?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 2017-06-21
    • 2023-03-12
    相关资源
    最近更新 更多