Lambda 删除NHibernate 3.2中的多个对象

Lambda 删除NHibernate 3.2中的多个对象,lambda,expression,predicate,nhibernate-3,Lambda,Expression,Predicate,Nhibernate 3,在我的存储库中有这样一种方法: public int Delete(Expression<Func<TEntity, bool>> predicate) { var listToDelete = UnitOfWork.Session.Query<TEntity>().Where(predicate).ToList(); foreach(var item in listToDelete) UnitOfWork.Session.De

在我的
存储库中
有这样一种方法:

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;
}
public int Delete(表达式谓词){
var listToDelete=UnitOfWork.Session.Query().Where(谓词).ToList();
foreach(listToDelete中的变量项)
UnitOfWork.Session.Delete(项目);
返回listToDelete.Count;
}

但这种方法似乎没有很好的性能!您对删除
NHibernate 3.2
中的对象列表(通过谓词)有什么建议吗

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


您还可以使用HQL查询进行批处理操作。

我是NHibernate的新手;你能给我举个例子吗?感谢大会: