我有一个使用嵌入式RavenDB的应用程序。我希望能够将特定的文档集(包含所有嵌套/引用文档的文档)导入/导出到文件中。
我理想的功能就像:
var session = store.OpenSession();
MyDocument d1 = session.Load<MyDocument>(someId);
ImportExport.Export(store, d1, "file.xyz");
然后使用不同的IDocumentStore:
ImportExport.Import(store, "file.xyz");
var session = store.OpenSession();
MyDocument d2 = session.Load<MyDocument>(someId);
当然d1以任何方式等于d2。
AFAIK Smuggler实用程序一次导出所有文档。
我唯一的另一个想法是使用Json.NET序列化MyDocument对象,将其保存到文件,然后反序列化(并存储它)。我有一种感觉,这是一种方法,但是当MyDocument里面有很多其他文件时,它会起作用吗?
答案 0 :(得分:0)
你有Smuggler API来处理这个问题。参见:
答案 1 :(得分:0)
我最终使用了&#34; Raven.Smuggler.exe&#34;程序使用&#34; large&#34;来完成工作。 ravendump文件。但是,我不清楚这个导入过程[从头开始删除]还是[合并]数据 - 我会执行数据库删除并在执行下面的导入过程之前重新创建,以保证数据的完整性。
C:\RavenDB-Build-2956\Smuggler\Raven.Smuggler.exe in $instance $dump "-u=$user" "-p=$plainpassword" -d=$dbname