列表中的SelectMany:“无法从使用中推断出类型参数”

时间:2016-09-16 08:31:35

标签: c# .net linq

我正在尝试运行下面的代码,但是我在第一个SelectMany语句上遇到错误:“方法'IEnumerable<TResult> System.Linq.Enumerable.SelectMany...'的类型参数无法从用法中推断出来。请尝试指定明确的类型参数“。 公司有一个Employments列表,我希望获得一个名为employments的公司所有"Company1"的列表,并且在我需要过滤后,该员工目前正在工作(EndDate 1}}为null)并仅返回列表及其名称。

我需要使用Linq查询。

var employees = FindAllCompanies()
            .Where(x => x.Name == "Company1")
            .SelectMany(x => x.Employments)
            .Select(x => x.EmploymentEndDate == null)
            .SelectMany(x.Name);

1 个答案:

答案 0 :(得分:8)

我认为你有一个拼写错误,而不是

.Select(x => x.EmploymentEndDate == null)

你想要

.Where(x => x.EmploymentEndDate == null)

如果选择此项,您将获得bool,当然没有Name属性。

最终的SelectMany也是错误的,而不是

.SelectMany(x.Name)

.Select(x => x.Name)