У меня есть 120 КБ данных в таблице с использованием mssql, и мне нужно удалить все, чтобы сохранить снова, но это очень медленно.
У меня есть объект с именем InventarioEstoque, и у меня есть два дочерних объекта InventariosEstoquesSaldosи InventariosEstoquesSaldosTerceiros, я пытался удалить 100 из 100 и зафиксировать в базе данных, но для каждых 100 данных это заняло более одной минуты, я смотрел на консоль, может быть, потому что это генерирующий запрос N + 1 для детейпри поиске каскадного удаления.
последний код, который я пробовал:
var itensDelete = UnitOfWork.InventariosEstoques.All().Where(x => dates.Contains(x.Data.Date) && x.OrigemInventario == OrigemInventarioEstoque.FechamentoEstoque).Select(x => x.Id);
while (itensDelete.Any())
{
var idsDelete = itensDelete.Take(100).ToList();
UnitOfWork.InventariosEstoques.Delete(x => idsDelete.Contains(x.Id));
UnitOfWork.SaveChanges();
}
есть ли способ быстрее удалить эти данные с помощью Nhibernate?