本文介绍了如何删除多个数据库实体与NHibernate?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
什么是这个问题的最好做法是什么?是否有任何配料功能内置?
What is the best practice for this problem? Is there any batching features built-in?
样code:
using (ITransaction transaction = _session.BeginTransaction())
{
_session.Delete("FROM myObject o WHERE o.Id = IN(1,2,...99999)");
transaction.Commit();
}
先谢谢了。
推荐答案
HQL支持IN子句,如果你使用setParameterList你可以在集合中,甚至通过。
HQL supports the IN clause, and if you use setParameterList you can even pass in a collection.
var idList = new List<int>() { 5,3,6,7 };
_session.CreateQuery("DELETE myObject o WHERE o.Id = IN (:idList)")
.SetParameterList("idList", idList)
.ExecuteUpdate();
这篇关于如何删除多个数据库实体与NHibernate?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!