SqlServer データベースに保持されているドキュメントを RavenDB データベースに転送しています。プロセスは単純ですが、RavenDB の「安全第一」の原則に沿って、最初の 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();
}
}