#c_sharp #база_данных #entity_framework
Здравствуйте. В моём приложении есть база данных. Есть таблица с колонкой типа DateTime. В code-behind при создании объекта есть свойство Date типа DateTime. Данное свойство я инициализирую таким образом: Date = DateTime.Now. Для работы с базой данных в code-behind я использую технологию Entity Framework, подход к проектированию приложения Model First. Далее, как только я сохраняю информацию в базу данных, у меня в БД у этой колонки (Date) записывается дата, и у этой даты есть доли секунды, например: 2018-03-18 15:43:00,667. Как сделать так, чтобы поиск даты был без учёта доли секунды, если это возможно, конечно? Например, есть две даты: 2018-03-18 15:43:00,667 и 2018-03-18 15:43:00,122. В приложении есть фильтр, я указываю значение Вс, 18 мар 2018 15:43:00 GMT и мне нужно, чтобы вот эти две даты выводились в качестве результата поиска. В базе данных я пробовал у колонки поменять тип данных на smalldatetime, доли секунды у даты пропали, всё как нужно, но при создании записи в базе данных, секунды у этих дат почему-то всегда равны нулю, что не совсем нравится это всё.
Ответы
Ответ 1
"Проверка на равенство без долей секунд" — это проверка на попадание в диапазон значений. DateTime dateFrom = GetRoundDateFromInput(); DateTime dateTo = dateFrom.AddSeconds(1); db.Foos.Where(f => dateFrom <= f.Date && f.Date < dateTo);
Комментариев нет:
Отправить комментарий