Дано 1000 документов со сложной структурой данных. например класс Car, который имеет три свойства: Make и Model и одно свойство Id.
Каков наиболее эффективный способ в С# отправить эти документы в базу данных ворона (желательно в пакетном режиме) без необходимости индивидуально запрашивать коллекцию ворона, чтобы найти, что обновить, а что вставить. На данный момент я должен идти так. Что совершенно неэффективно. Примечание: _session — это оболочка IDocumentSession, где Commit вызывает SaveChanges, а Add вызывает Store.
private void PublishSalesToRaven(IEnumerable<Sale> sales)
{
var page = 0;
const int total = 30;
do
{
var paged = sales.Skip(page*total).Take(total);
if (!paged.Any()) return;
foreach (var sale in paged)
{
var current = sale;
var existing = _session.Query<Sale>().FirstOrDefault(s => s.Id == current.Id);
if (existing != null)
existing = current;
else
_session.Add(current);
}
_session.Commit();
page++;
} while (true);
}