Могу ли я создать этот sql-запрос, используя критерии HNibernate:
Выберите * из таблицы1, где столбец1> (столбец2 + столбец3)
Все 3 столбца - int32. Спасибо
Могу ли я создать этот sql-запрос, используя критерии HNibernate:
Выберите * из таблицы1, где столбец1> (столбец2 + столбец3)
Все 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)"));