2

有没有办法在不定义模型类的情况下查询 ravendb?通常我们定义模型和问题查询是这样的:

public class Site
{
   public string Title { get; set; }
   public string URL { get; set; }
   public string Notes { get; set; }
}

var documentStore = new Raven.Client.Document.DocumentStore{Url = "http://localhost:8080" };
 documentStore.Initialize();
 using (var session = documentStore.OpenSession())
 {
    var sites = session.Query<Site>()
                   .Where(x => x.Title.StartsWith("CN")).ToList();
    for (int i = 0; i < sites.Count; i++)   {
         MessageBox.Show(sites[i].Title + " - " + sites[i].URL);
    }  
 }

但是我可以像查询 SQL Server 一样查询吗 - 无需定义我什至可能不知道的表结构吗?在上面的示例中,我需要声明一个类Site才能运行查询:var sites = session.Query<Site>(). 我想像这样运行session.Query<"Site">()

这甚至可能吗?如何设置此功能?

4

1 回答 1

3

我相信你可以使用数据库命令 ( Query) 来完成你正在尝试的事情,只要你知道你想要获取的文档集合的名称。请参阅此处了解更多信息。

QueryResult sites = store.DatabaseCommands.Query(
    "Sites/ByTitle",
    new IndexQuery
        {
            Query = "Title:CN*"
        }, null);
于 2013-07-30T13:50:29.870 回答