【发布时间】:2011-12-06 09:55:00
【问题描述】:
我正在学习 RavenDB,我很困惑。据我了解,应该创建索引才能进行真正有效的查询。但是,可以简单地进行 LINQ 查询,例如
using(IDocumentSession session = _store.OpenSession())
{
MyDocument doc = session.Query<MyDocument>()
.Where(d => d.Property == value)
.Single();
}
这种类型的查询工作得很好。但是,我从未为其创建索引(当然,在进行查询时也从未引用索引)。
在使用 RavenDB 时我应该使用这种查询吗?如果没有,为什么它甚至可以在 API 中使用?
【问题讨论】:
-
你在这里谈论两件事。您没有创建索引(甚至不引用索引)的事实是由于 RavenDB 中的动态索引功能。请参阅ayende.com/blog/4667/ravens-dynamic-queries 和ravendb.net/documentation/http-indexes-dynamic 了解更多信息。