, используя следующий запросрезультатов порядковых Linq запроса по нескольким пунктам
Dim allEvents As New List(Of Events)
Dim digits = "1 2 3 4 5 6 7 8 9 0".Split()
Dim results = (From t In ctx.events
Where t.date = todaysdate.Date AndAlso
Not digits.Any(Function(d) (t.symbol.Contains(d)))
Order By t.time
Select New With {
t.symbol,
t.date, t.time,
t.description,
t.domestic_call_num,
t.web_url})
If results.Count > 0 Then
For x As Integer = 0 To results.Count - 1
Dim newevent As New Events
With newevent
.CompanySymbol = results(x).symbol
.EventDate = results(x).date
.EventTime = Left(results(x).time.ToString(), 5)
.EventDescription = results(x).description
If results(x).domestic_call_num IsNot Nothing Then
.DialInNumber = results(x).domestic_call_num
Else
.DialInNumber = ""
End If
If results(x).web_url IsNot Nothing Then
.WebCastUrl = results(x).web_url
Else
.WebCastUrl = ""
End If
End With
allEvents.Add(newevent)
Next
Return allEvents
Я получаю результаты, я хочу, но я хотел бы дополнительно заказать их по описанию и время
Я попытался следующим , который должен был работать
Dim results = (From t In ctx.events
Where t.date = todaysdate.Date AndAlso
Not digits.Any(Function(d) (t.symbol.Contains(d)))
Order By t.time
Group By t.description
Select New With {
t.symbol,
t.date, t.time,
t.description,
t.domestic_call_num,
t.web_url})
Я также попробовал ThenBy, который компилятор не понравился. Любая помощь в том, как добиться этого, будет оценена по достоинству. По сути, я хочу порядок сортировки времени, затем описание, затем символ.
Рид, Вот как я изначально написал его, так как ему ДОЛЖНО работать именно так. При одном заказе By, t.time, я не заполняю список событий без проблем. Как только я добавлю второй, t.description код barfs в первом прогоне через событие добавления. См. Редактирование к моему оригинальному сообщению для получения дополнительного кода. – dinotom
@ dinotom. Как я написал выше, должен работать отлично. Это единственный «Order By» с «t.time, t.description» в списке, разделенным запятой. –
Я удалил .ToList(), чтобы попытаться выполнить оригинальный запрос. У меня теперь все работает, ty – dinotom