Хорошо, я пытаюсь написать запрос LINQ с Join
, используя VB на .NET 4.0.
Под строкой кода у меня появляется красная заглушка, и когда я намыкаю на нее, она показывает:
"Не удается преобразовать LINQ"
Обратите внимание на двойной отрицательный.
Кто-нибудь знает, что означает эта ошибка?Грамматически это означало бы, что ошибки НЕТ, но я не знаю, почему тогда даже должно появиться сообщение об ошибке.Эта «ошибка» также убивает автозаполнение в рассматриваемой строке, как будто на самом деле IS ошибка.Так что я в замешательстве.
Вот мои объявления переменных:
Dim dateTimes As Date() = GetDates()
Dim readings = (
From dr As DataRow In dbReadings.Rows
Where dr("SENSORID") = sensorid
Select New Device.Reading With {
.Dated = CDate(dr("DATEDT")),
.Value = CSng(dr("VALUE")),
.Exception = CBool(dr("EXCEPTION"))
})
Вот мой запрос, который, как мне говорят, не может быть запрошен:
Dim joined = From dt As Date In dateTimes
Join r As Device.Reading In readings On r.Dated = dt
Into DateTimeReadings From r In DateTimeReadings.DefaultIfEmpty()
Select r.Value
Я пытаюсь получить список показаний для всех дат и времени в dateTimes
, включая пустые записи для дат, для которых нет показаний.