我试图运行下面的代码,但在第一个SelectMany
语句上遇到错误:“无法从用法中推断出方法'IEnumerable<TResult> System.Linq.Enumerable.SelectMany...'
的类型参数。请尝试明确指定类型参数”。
公司有一个Employments
的列表,我想获取一个名为employments
的公司的所有"Company1"
的列表,然后在需要过滤当前正在工作的员工(当EndDate
为null时)并返回仅包含其名称的列表。
我需要使用Linq查询来完成。
var employees = FindAllCompanies()
.Where(x => x.Name == "Company1")
.SelectMany(x => x.Employments)
.Select(x => x.EmploymentEndDate == null)
.SelectMany(x.Name);
最佳答案
我觉得你有错字,而不是
.Select(x => x.EmploymentEndDate == null)
你要
.Where(x => x.EmploymentEndDate == null)
如果选择此选项,您将得到一个
bool
,它当然没有Name
属性。最后的
SelectMany
也是错误的,而不是.SelectMany(x.Name)
这个
.Select(x => x.Name)