【问题标题】:NHibernate Criteria restriction with database-executed SHA1?NHibernate Criteria 限制与数据库执行的 SHA1?
【发布时间】:2012-05-07 16:38:40
【问题描述】:

是否可以转换这种查询:

SELECT field1, field2 FROM table WHERE SHA1(field1 + field2) = 'hash'; 

进入 NHibernate 的 Criteria 语言?例如,类似:

session.CreateCriteria<Car>()
    .Add(Expression.Eq("SHA1(field1 + field2)", "hash"));

【问题讨论】:

    标签: c# mysql nhibernate


    【解决方案1】:

    也许这个答案对你有用?

    https://stackoverflow.com/a/797243

    我会尝试类似:

    ISQLFunction sqlAdd = new VarArgsSQLFunction("(", "+", ")");
    var concat = Projections.SqlFunction(sqlAdd, NHibernateUtil.String, Projections.Property("ObjectProperty1"), Projections.Property("ObjectProperty2"));
    var sha1 = Projections.SqlFunction("SHA1", NHibernateUtil.String, concat);
    ...
    session.CreateCriteria<Car>().Add(Expression.Eq(sha1, "hash"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      相关资源
      最近更新 更多