Как запросить Бд с датой и временем с помощью entityframework

#c# #asp.net #sql-server #entity-framework #asp.net-web-api

Вопрос:

Я хочу запросить базу данных с помощью столбца с параметром datetimeoffset(7). Для этого требуется дата начала и дата окончания, как показано в приведенном ниже коде.

мой URL-адрес выглядит примерно так

http://localhost:60018/v1/getDepartPoints?startDate=2015-08-08amp;endDate=2015-08-08

Ниже приведен мой запрос, который вернул список 0

var result = Db.Points.Where(t => t.DepartureTime > startDate amp;amp; t.DepartureTime < endDate).ToList();

Ниже приведен sql-запрос, который работает SELECT * FROM [dbo].[Points] WHERE DepartureTime = '2015-08-08 04:35:00.0000000 -10:00'

Этот приведенный ниже запрос не сработал, как я ожидал, после приведения к дате и времени SELECT * FROM [dbo].[Points] WHERE cast(DepartureTime as datetime) = '2015-08-08'

Как я могу заставить свой запрос возвращать ожидаемый список с датой и временем, переданным в datetimeoffset в базе данных?

Комментарии:

1. Я думаю, вы имеете в виду datetimeoffset, но вопрос не имеет смысла в его нынешнем виде

2. Да, datetimeoffset, я обновлю вопрос mu

3. '2015-08-08 04:35:00.0000000 -10:00' и '2015-08-08' это совершенно разные времена; почему вы ожидаете, что они вернут одно и то же значение? Последнее можно было бы предположить как '2015-08-08 00:00:00.0000000 {Server Offset} .

4. @Larnu спасибо, что указал на это. Я ищу способ заставить это работать. должен ли я сделать обязательным для пользователей API передачу чего '2015-08-08 00:00:00.0000000 -10:00' or there is a way to manipulate it in the code when they pass -либо ‘2015-08-08″`

5. @techstack если пользователи перейдут в «2015-08-08», в какое время ожидается? Это время-полночь по Гринвичу? Полночь по местному времени — полночь по серверному времени? Если вы используете datetimeoffset — тогда клиенту (пользователям) необходимо отправить datetimeoffset, чтобы вы знали, какое время передается в процедуру.