Удалить несколько объектов в 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-запросы для пакетных операций.

Другие вопросы по тегам