【发布时间】:2011-05-13 17:37:27
【问题描述】:
我可以使用 HNibernate Criteria 创建这个 sql 查询吗:
Select * from Table1 where Column1 > (Column2 + Column3)
所有 3 列都是 int32。 谢谢
【问题讨论】:
标签: nhibernate criteria restrictions
我可以使用 HNibernate Criteria 创建这个 sql 查询吗:
Select * from Table1 where Column1 > (Column2 + Column3)
所有 3 列都是 int32。 谢谢
【问题讨论】:
标签: nhibernate criteria restrictions
好吧,在第 n 次阅读与这个确切问题有关的问题后,我决定编写一个不包括编写 SQL 的实现。
您可以在http://savale.blogspot.com/2011/04/nhibernate-and-missing.html 上查看实现,您可以使用它编写代码:
criteria.Add(
Restrictions
.GeProperty("Prop1",
new ArithmeticOperatorProjection("+",
NHibernateUtil.Int32,
Projections.Property("Prop2"), Projections.Property("Prop3")
)
)
);
【讨论】:
您可以使用Expression 并编写一些 SQL,这对我有用。
criteria.Add(Expression.Sql("Column1 > (Column2 + Column3)"));
【讨论】: