【问题标题】:Is it possible to set ExecuteUpdate to respect session filters?是否可以将 ExecuteUpdate 设置为尊重会话过滤器?
【发布时间】:2010-06-23 22:19:33
【问题描述】:

下面的查询使用了 ExecuteUpdate。我希望所说的方法尊重会话过滤器。这可能吗?

//This line seems to make no effect.
_session.EnableFilter(FilterName).SetParameter(FilterParam, Value);


_session.CreateQuery(String.Format("DELETE  FROM {0} WHERE Id IN (:idList)", object.Name))
                        .SetParameterList("idList", arrayOfIds)
                        .ExecuteUpdate();

谢谢,

【问题讨论】:

    标签: c# sql nhibernate fluent


    【解决方案1】:

    不,原因是过滤器不是域“转换器”。它们只是为了修改您要选择的内容。要执行您想要的操作,您可以在映射中指定 WHERE 类属性,尽管这不(官方)支持参数

    【讨论】:

      【解决方案2】:

      不,这不可能。

      HQL 批量更新语句在 NHibernate 堆栈中相对较低级别,它们不会支持过滤器。

      【讨论】:

        猜你喜欢
        • 2021-12-28
        • 1970-01-01
        • 2013-06-01
        • 2012-04-13
        • 2012-09-03
        • 1970-01-01
        • 2011-02-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多