我想寫我自己的簡單的桌面基於RavenDB瀏覽器,類似於Web UI。這主要是爲了學習烏鴉。如何創建一個RavenDB資源管理器?
所以我的第一個任務是從數據庫中讀取所有文檔,無關他們屬於哪個應用程序。我想用客戶端API實現這一點,但似乎session.Query和session.LuceneQuery都需要類說明符。
我應該使用什麼API來執行此任務?
我想寫我自己的簡單的桌面基於RavenDB瀏覽器,類似於Web UI。這主要是爲了學習烏鴉。如何創建一個RavenDB資源管理器?
所以我的第一個任務是從數據庫中讀取所有文檔,無關他們屬於哪個應用程序。我想用客戶端API實現這一點,但似乎session.Query和session.LuceneQuery都需要類說明符。
我應該使用什麼API來執行此任務?
客戶端API需要一個類型,因爲它設計爲與CLR POCO一起工作,因此可以爲您處理轉換(來自Json)。
您需要直接與Json一起工作,因爲您不知道類型。這就是Web UI的功能。我建議通過Java腳本代碼來查看它是如何完成的。
此外,總是有一個名爲「Raven/DocumentsByEntityName」的默認索引,您可以查詢。這將索引存儲在文檔元數據中的「Raven-Entity-Name」(對應於CLR類型)。這就是Raven使用它來允許它將Json轉換爲CLR類型。見the docs更多信息
下面將提取所有RavenDB文檔JSON:
var docStore = new DocumentStore { Url = "http://localhost:8080" };
using (docStore.Initialize())
{
var docs = docStore
.DatabaseCommands
.Query("Raven/DocumentsByEntityName", new IndexQuery());
}
太糟糕了。我希望有一種方法可以在不採用JSon的情況下遍歷集合。 – 2010-06-28 18:14:16