Могу ли я создать этот sql-запрос, используя критерии HNibernate:
Выберите * из таблицы1, где 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, вот что мне подходит.
Expression
criteria.Add(Expression.Sql("Column1 > (Column2 + Column3)"));