我可以使用 HNibernate Criteria 创建这个 sql 查询吗:
选择 * from Table1 where Column1 > (Column2 + Column3)
所有 3 列都是 int32。谢谢
我可以使用 HNibernate Criteria 创建这个 sql 查询吗:
选择 * from Table1 where Column1 > (Column2 + Column3)
所有 3 列都是 int32。谢谢
好吧,在阅读了第 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)"));