我一直在努力解决这个问题。我在asp.net中有一个列表框,我用它看起来像:
<asp:ListBox ID="lstLinkedProspect" runat="server" SelectionMode="Multiple" />
我想要做的是能够选择我在特定表格中的所有项目,除了列表框中的所有项目。不仅是所选项目,还包括列表中已有的所有项目。我使用System.Linq.Dynamic库。这是我正在尝试做的事情:
Dim lstProspect = dbConnection.Prospects.Where(If(String.IsNullOrWhiteSpace(SearchFilters.Value), "ProspectId > 0", SearchFilters.Value).ToString) _
.Except(' There goes all the items in the list box)
我已经尝试过的是:
Dim lstProspect = dbConnection.Prospects.Where(If(String.IsNullOrWhiteSpace(SearchFilters.Value), "ProspectId > 0", SearchFilters.Value).ToString) _
.Except(lstLinkedProspect.Items.Cast(Of ListItem)().Where(Function(x) x.Value).Cast(Of Beans.Prospect))
Linq是否可以从表中获取不在列表框中的所有项目?请注意,列表框中ListItem的Value属性是ProspectId。
提前致谢。
答案 0 :(得分:1)
这是我找到的实现我想要的代码:
Dim lstItems = dbConnection.Prospects.Where(Function(x) ids.Contains(x.ProspectId))
Dim lstProspect = dbConnection.Prospects.Where(If(String.IsNullOrWhiteSpace(SearchFilters.Value),
"ProspectId > 0", SearchFilters.Value).ToString).Except(lstItems)
希望这可以帮助任何人解决这个问题。