在不定义模型类的情况下查询ravendb
本文关键字:情况下 查询 ravendb 定义 模型 | 更新日期: 2023-09-27 18:25:27
有没有一种方法可以在不定义模型类的情况下查询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">()
一样运行这个
这可能吗?如何设置此功能?
我相信,只要您知道要获取的文档集合的名称,就可以使用数据库命令(Query
)来完成您正在尝试的操作。请参阅此处了解更多信息。
QueryResult sites = store.DatabaseCommands.Query(
"Sites/ByTitle",
new IndexQuery
{
Query = "Title:CN*"
}, null);