nhibernate - 基于表达式的限制

时间:2013-12-14 09:39:09

标签: hibernate nhibernate

我正在使用nHibernate Criteria而且我坚持认为它应该非常简单。在SQL中它将是:

WHERE startPos + length > 17

(startPos和length是表中的两列)。任何人都可以帮助我用nHibernate实现这个目标

1 个答案:

答案 0 :(得分:0)

这是使用NHibernate中的Criteria的方法:

var criteria = session.CreateCriteria<MyEntity>(); // C# MyEntity

criteria.Add(
  // add restriction
  Restrictions.Gt(
    // left part as a projection
    Projections.SqlProjection(
        "(startPos + length) as myAlias"
        , new[] {"myAlias"}
        , new IType[] {NHibernateUtil.Boolean} )
    // right part 
    , 17
    ));