【发布时间】:2013-09-21 19:15:46
【问题描述】:
我一直在努力寻找一种方法来做到这一点。我在 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。
提前致谢。
【问题讨论】:
-
动态 LINQ 是否支持
Except?你能接受常规的 LINQ 解决方案吗?这是什么类型的 LINQ? -
是的,它确实支持例外。优点之一是您可以在 where 子句中传递一个字符串,就像我在代码示例中所做的那样。我可以毫无问题地使用常规的 Linq 解决方案。
-
看看这篇文章,它可能会对你有所帮助stackoverflow.com/questions/853526/…
标签: asp.net vb.net linq listbox except