1

在我的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吗?

4

1 回答 1

2

用于IStatelessSession删除或更新多个对象。它会更快,因为身份映射不会减慢会话/操作的速度。

您还可以将 HQL 查询用于批处理操作。

于 2012-03-07T06:19:25.947 回答