Удалить несколько объектов в NHibernate 3.2
В моем Repository
У меня есть такой метод:
public int Delete(Expression<Func<TEntity, bool>> predicate) {
var listToDelete = UnitOfWork.Session.Query<TEntity>().Where(predicate).ToList();
foreach(var item in listToDelete)
UnitOfWork.Session.Delete(item);
return listToDelete.Count;
}
Но, похоже, этот метод не очень эффективен! Есть ли у вас предложения по удалению списка объектов (по предикату) в NHibernate 3.2
пожалуйста?
1 ответ
Использование IStatelessSession
удалить или обновить несколько объектов. Это будет быстрее, потому что карта идентичности не будет замедлять сеанс / операции.
Вы также можете использовать HQL-запросы для пакетных операций.