加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何使用Nhibernate删除多个db实体?

发布时间:2020-12-15 06:19:41 所属栏目:百科 来源:网络整理
导读:这个问题的最佳做法是什么?是否有内置的批处理功能? 示例代码: using (ITransaction transaction = _session.BeginTransaction()){ _session.Delete("FROM myObject o WHERE o.Id = IN(1,2,...99999)"); transaction.Commit();} 提前致谢. 解决方法 HQL支
这个问题的最佳做法是什么?是否有内置的批处理功能?

示例代码:

using (ITransaction transaction = _session.BeginTransaction())
{
   _session.Delete("FROM myObject o WHERE  o.Id = IN(1,2,...99999)");
   transaction.Commit();
}

提前致谢.

解决方法

HQL支持IN子句,如果使用setParameterList,您甚至可以传递一个集合.
var idList = new List<int>() { 5,3,6,7 };

_session.CreateQuery("DELETE myObject o WHERE o.Id = IN (:idList)")
    .SetParameterList("idList",idList)
    .ExecuteUpdate();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读