我刚刚学习使用 lambda 表达式,几天前开始使用 Dapper。我正在开发一个应用程序,该应用程序填充了listView
要选择用于某些帐户维护的用户名。我在排序的一个部分遇到问题:
- 我正在使用 Dapper 查询获取对象集合并将其分配给变量
Global.allUsers
。 - 我有一个
List<int> migrated
已经使用过的 ID ( ) 列表,因此不需要出现在listView
我正在使用以下内容获取所有用户的列表:
var uniqUsers = Global.allUsers.OrderBy(n => n.lastNames).GroupBy(q => q.salesIDs);
要仅使用尚未迁移的用户填充listView
,我只需要选择那些没有q.salesIDs
in的用户migrated
。我只是不知道是否/如何在不使用某种foreach
. 似乎应该有一种方法可以选择它。
uniqUsers
当然,无论如何我都在循环,并listView
从每个对象的属性中填充值。我可以添加一个语句来检查当前 ID 是否在 中migrated
,但我的直觉只是告诉我,我可以使用 select 语句来完成它并为自己节省一步。
我在想这样的事情:
var uniqUsers = Global.allUsers.Where(i => i.salesIDs not in migrated).OrderBy(n => n.lastNames).GroupBy(q => q.salesIDs);
但i => i.salesIDs not in migrated
没有削减它。