【发布时间】:2014-01-02 19:48:52
【问题描述】:
第一次发问题,如果我做错了,我提前道歉。
我有一个寡妇表单应用程序,其中包含一个列表框,供用户进行一项或多项选择。这提供了一个 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")
我认为问题出在代码的“And Enumerable.Range...”部分。
用作标准的 3 件事是天数、状态和位置,我需要返回超过天数、处于给定状态和任何选定位置的所有记录。
我想我已经接近了,但我错过了一些东西,我希望有人可以帮忙。
【问题讨论】:
-
我还会在查询之前创建变量并在查询中使用它们而不是表达式 - 更清晰的查询。