Фреймворк сущностей разделяет DATETIME для сортировки только по времени - PullRequest
0 голосов
/ 10 июля 2019

Я выполняю запрос к таблице, которая содержит столбец DATETIME, в котором я хочу отсортировать результаты только по ВРЕМЕНИ и игнорировать дату.Я собрал следующий запрос:

SELECT DISTINCT s.Id, s.SubmittedDate, s.CheckId, s.RestaurantId, s.StaffName, s.CustomerEmail, s.TableNumber 
FROM Survey s
ORDER BY  DATEPART (hh,s.submittedDate) ASC, DATEPART(mi,s.submittedDate) ASC

Проблема этого запроса в том, что он генерирует ошибку ORDER BY items must appear in the select list if SELECT DISTINCT is specified.Однако я не могу добавить порядок по полям в список полей в запросе, так как он не существует в Survey Entity, которому Entity Framework отображает результаты.

Есть ли способ обойти это?

1 Ответ

0 голосов
/ 10 июля 2019

Исходя из фона Java, я предполагал, что Entity Framework будет жаловаться, если результаты вернут поля, которые не существуют в сущности.Я попробовал это, и Entity Framework не жалуется, и он работает как ожидалось.

Мой последний рабочий запрос:

SELECT DISTINCT s.Id, s.SubmittedDate, s.CheckId, s.RestaurantId, s.StaffName, s.CustomerEmail, s.TableNumber, DATEPART(hh, s.submittedDate) as hrs, DATEPART(mi, s.submittedDate) as mins 
FROM Survey s
ORDER BY hrs, mins ASC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...