我试图运行下面的代码,但在第一个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)

10-04 14:32