У меня есть метод в классе DAL:влево-замкнутый интервал дат неожиданных, запрос с использованием NHibernate
public IList<HouseHold> FindByDate(DateTime start, DateTime end)
{
using (ISession session = NHibernateHelper.AbreSession())
{
return session.CreateCriteria<HouseHold>()
.Add(Expression.Between("RegistrationDate", start, end))
.List<HouseHold>();
}
}
С этим, я ожидал получить данные от даты между отрезкой. Но когда я использую этот метод и его результат является левым замкнутым интервалом, например:
private IList<HouseHold> LoadData()
{
hh = dao.FindByDate(start.SelectedDate.Value, end.SelectedDate.Value);
return hh;
}
выбрать даты между 20/08/2015 и 22/08/2015 от DataPicker
(WPF), это показывает, результат от 20 до 21. Но когда я выбираю даты 20/08/2015 и 23/08/2015, он показывает результаты от 20 до 22, а я знаю, что это результаты из 23!
Что случилось?
За исключением, если «между» на самом деле включено, вы не хотите включать значения точно в полночь в конце + 1 дата ... так что вы можете захотеть 'end.AddDays (1) .AddTicks (-1)'. –
Точно .. Я хотел указать, что есть ** время ** проблема не NHibernate –