5
У меня есть таблица в SQL Server, которая имеет следующие столбцызаказа в Linq к Entities нескольких столбцов
- ID (Идентичность/Первичный ключ)
- DestinationID (Внешний ключ)
- Даты (Поле даты)
- Время (Время поле)
- DayOfWeek (Чар (3) поле), то есть "пН", "ВТ" и т.д ..
Я хочу заказать данные по дате и времени, затем по DayOfWeek и Time. Таким образом, все записи с датами отображаются вверху и упорядочены по времени, затем порядок DayOfWeek по времени.
Я попытался несколько способов, но просто не могу получить мою голову вокруг него, я следующий код
var qry = ctx.DestinationTimings.Where(x => x.DestinationID == this.ID)
.OrderBy(t => t.Date).ThenBy(t => t.Date != null)
.ThenBy(t => SqlFunctions.CharIndex(t.DayOfWeek + ",", "MON,TUE,WED,THU,FRI,SAT,SUN"))
.ThenBy(t => t.Time);
использование Выберите метод (http://msdn.microsoft.com/en-us/library/system.linq.enumerable.select.aspx) –
Я просмотрел метод select, но я думаю, что это было бы чуть выше, я был наклон, это было бы что-то простое – Valeklosse
@Kiquenet 'SqlFu nctions.CharIndex' Вернет позицию значения, найденного в другом выражении. https://msdn.microsoft.com/en-us/library/system.data.objects.sqlclient.sqlfunctions.charindex(v=vs.110).aspx – Valeklosse