我该怎么做呢?
Session
.CreateQuery("delete from People where People.Id in (:idList)")
.SetParameter("idList", idList)
.ExecuteUpdate()
但没有HQL?
答案 0 :(得分:1)
你可以这样做:
foreach(var item in idList)
{
Session.Delete(Session.Load<People>(item));
}
并在配置中将此设置批量大小的性能提高到20:
<property name="adonet.batch_size">20</property>
此行为默认存在于Nhibernate 3.2
中答案 1 :(得分:0)
据我所知,没有用于删除实体的Fluent Nhibernate语法。当我想删除时,我也使用了HQL(甚至是SQL)。
答案 2 :(得分:0)
有一个示例here可能会满足您的需求。它是session.Delete
的重载之一