Вначале отправляем вопрос, поэтому заранее извиняюсь, если я сделаю неправильный шаг.Проблема с LINQ с переменной, где статья
У меня есть приложение для вдов, которое включает в себя список для пользователей, чтобы сделать один или несколько выборов. Это подает запрос LINQ, чтобы вернуть им нужные данные. Когда пользователь делает особый выбор, запрос работает, но при выборе нескольких записей запрос возвращает 0 результатов.
Вот запрос:
assets = From anitem In myTable
Where String.Equals(cboStatus.SelectedItem.ToString,
anitem.Field(Of String)("Status"),
StringComparison.OrdinalIgnoreCase) _
And Integer.Parse(anitem.Field(Of String)("Days Late")) <= intDays _
And Enumerable.Range(0, facilities.Count).All(Function(i) _
anitem.Field(Of String)("Facility").Contains(facilities(i))) _
Select anitem
Order By Integer.Parse(anitem.Field(Of String)("Days Late")) Ascending
Select Facility = anitem.Field(Of String)("Facility"), _
Zone = anitem.Field(Of String)("Zone"), _
Building = anitem.Field(Of String)("Building"), _
Floor = anitem.Field(Of String)("Floor"), _
DeviceName = anitem.Field(Of String)("Device_Name"), _
FullName = anitem.Field(Of String)("Full Device Name"), _
DaysLate = Integer.Parse(anitem.Field(Of String)("Days Late")), _
Status = anitem.Field(Of String)("Status"), _
UserName = anitem.Field(Of String)("Username"), _
Assignment = anitem.Field(Of String)("Assignment"), _
ResponsibleParty = anitem.Field(Of String)("ResponsiblePartyName")
Я думаю, что проблема находится в «И Enumerable.Range ...» части кода.
3 вещи, которые используются в качестве критериев, - это количество дней, статус и местоположение. Мне нужно вернуть все записи, которые превышают количество дней, в заданном статусе и в любом из выбранных мест.
Я думаю, что я близок, но у меня что-то не хватает, и я надеюсь, что кто-то может помочь.
Я бы также сделал переменные перед запросом и использовал их в запросе, а не в выражении - более чистый запрос. – OneFineDay