Я пытаюсь выразить следующий SQL запрос с NHibernateNHibernate COALESCE вопрос
DECLARE @date DATETIME = NULL;
SELECT
ER.Id
, ER.DocumentDate
FROM
ExpenseReport ER
WHERE
ER.PeriodFrom >= COALESCE(@date, ER.PeriodFrom)
OR ER.PeriodTo <= COALESCE(@date, ER.PeriodTo);
Так, в C# часть у меня есть следующие классы:
- для лица: ExpenseReport
- для моего поиска сам по себе отдельный класс
фрагменты кода:
// ----- Entity class.
public partial class ExpenseReport
{
public Nullable<System.DateTime> PeriodFrom { get; set; }
// many other properties
}
// ----- Search parameter class.
public class SearchParameters
{
public Nullable<System.DateTime> DateFrom { get; set; }
// many other properties
}
Таким образом, назначая теперь параметры поиска в IQueryOver<ExpenseReport>
var q = SessionProvider.QueryOver<ExpenseReport>();
И я теперь немного потерял с NHibernate .... Как это сделать сейчас?
q.And(/*** I AM STUCK HERE **/)
Wow! Так легко, если я прочитаю ваш пост ... Мне нужно будет проверить позже :) –
Отличное лидерство ... Я опубликовал следующий вопрос, ссылаясь на этот ответ, в надежде получить немного больше разъяснений по теме: http: //stackoverflow.com/questions/29221666/nhibernate-comparison-constraint-to-a-coalesced-date – beauXjames
* Если я правильно прочитал вопрос, я попытался показать, как ... * –