【发布时间】:2023-03-10 17:54:01
【问题描述】:
我正在尝试为 Linq 语句构建 Where 子句,该语句需要确定如下检索到的 AccountNumber 值是否存在于 List<string> 集合中。
到目前为止,我已经尝试过:
private void FindAccountNumbers(List<string> AccountNumbers)
{
var query = from abc
select new
{
AccountNumber = abc.AccountNumber
};
query = query.Where(AccountNumbers.Contains(x => x.AccountNumber));
}
但是我得到以下构建错误:
方法的类型参数 'System.Linq.Queryable.Where(System.Linq.IQueryable, System.Linq.Expressions.Expression>)' 不能 从用法推断。尝试指定类型参数 明确的。
在运行时,query 包含 AccountNumber 值,我正试图根据在 AccountNumbers 集合中找到的匹配项来减少它(类似于 IN TSQL 中的语句)。我应该使用Intersect 而不是Contains 吗?我究竟做错了什么??
【问题讨论】:
标签: c# linq linq-to-objects