我刚刚学习使用 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.salesIDsin的用户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没有削减它。