我正在将SqlServer数据库中的文件转移到RavenDB数据库中。 这一过程很简单, 但根据RavenDB安全第一原则, 只有第一批128份文件被实际存储。
我理解为什么会这样,我也知道这一限制可以对整个文件储存处进行调整,但是,鉴于在特定操作中储存128多份文件并不罕见,我想知道最佳做法是什么?
这是我的代码来展示我如何超越极限的例子。有更优雅的方法吗?
public static void CopyFromSqlServerToRaven(IDocumentSession db)
{
var counter = 0;
using (var connection = new SqlConnection(SqlConnectionString))
{
var command = new SqlCommand(SqlGetContentItems, connection);
command.Connection.Open();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
counter++;
db.Store(new ContentItem
{
Id = reader["Id"].ToString(),
Title = reader["Name"].ToString(),
Description = reader["ShortDescription"].ToString()
});
if (counter < 128) continue;
db.SaveChanges();
counter = 0;
}
}
db.SaveChanges();
}
}