如何从RavenDB数据库中获取所有实体名称(集合名称)?

Luc*_*ssi 2 c# collections document metadata ravendb

我需要检索存在于数据库中的所有RavenDB集合名称.有没有办法做到这一点?怎么样?

Mat*_*int 6

如果您完全使用了工作室,您会看到它创建了一个名为的索引Raven/DocumentsByEntityName.如果您不使用工作室,或者您想确保它在那里,您可以自己构建它:

documentStore.ExecuteIndex(new RavenDocumentsByEntityName());
Run Code Online (Sandbox Code Playgroud)

Raven Studio构建它的"集合"列表的方式是Tag从该索引中获取字段的条款.你可以做同样的事情:

var results = documentStore.DatabaseCommands
                           .GetTerms("Raven/DocumentsByEntityName", "Tag", "", 1024);
Run Code Online (Sandbox Code Playgroud)

(如果由于某种原因预计会有超过1024种不同的实体类型,那么就会分页.)