【发布时间】:2018-08-07 20:25:15
【问题描述】:
我无法使用 .ToList() 函数将下面的 LINQ 查询转换为列表。
这不是 Intellisense 中的选项。如果我在查询结束时强制使用 .ToList(),则整个查询会变成“红色波浪状”,并且错误表明 ToList 不是 HRAReport 的成员。
我不希望有这么大的讨厌的构造函数,并在类中完成所有属性设置,但我找不到将 hraRow 和 ddRow 对象传递给构造函数的方法。
我有两个数据表对象。 hraRow 包含大部分数据,但我需要从 ddRow 对象中提取两列,因此需要加入。
我不喜欢 Linq 的 lambda 版本,这就是我使用详细/查询方法的原因。
我生锈了——正如你所知——所以请温柔一点。
Dim results As List(Of HRAReport) =
From hraRow In dtHRA.AsEnumerable
Join ddRow In dtDirectDeposit.AsEnumerable On hraRow.Field(Of String)("SS#") Equals ddRow.Field(Of String)("SS#")
Select New HRAReport(hraRow.Field(Of String)("SS#"),
hraRow.Field(Of String)("Name - Last,First"),
hraRow.Field(Of String)("Benefit Plan Name"),
hraRow.Field(Of String)("HRA Annual Election"),
hraRow.Field(Of String)("HRA Benefit Start Date"),
hraRow.Field(Of String)("HRA Benefit Term Date"),
hraRow.Field(Of String)("Address 1"),
hraRow.Field(Of String)("Address 2"),
hraRow.Field(Of String)("City"),
hraRow.Field(Of String)("State"),
hraRow.Field(Of String)("Zip Code"),
ddRow.Field(Of String)("Account #"),
ddRow.Field(Of String)("ABA #"),
hraRow.Field(Of String)("Plan"),
hraRow.Field(Of String)("Debit Card"),
hraRow.Field(Of String)("Health Plan Code"),
hraRow.Field(Of String)("Email"),
hraRow.Field(Of String)("Termination Date"))
【问题讨论】:
-
您正在尝试将生成的可枚举 转换为
List。你需要在最后调用ToList()。 -
.ToList() 最后不是 Intellisense 中的可用选项,如果我“强制”它会导致语法错误(红色波浪状)。