vb.net - 使用 Linq 对数据表进行分组会产生错误:“方法定义在这种情况下无法访问”
问题描述
我正在尝试使用 Linq 和 VB.NET 2017 从数据表中获取不同的用户名。我已经阅读了很多文章但无法解决问题这是错误:
在此上下文中无法访问方法 myGroup 的定义
这是我的查询
Dim users2 = From row As DataRow In ReportTable
Group row By New With {.name = row.Item("user_name"), .code = row.Item("user_code")} Into myGroup '<-- Error
Select myGroup
但它基于 Microsoft 参考描述的内容:
var queryLastNames =
from student in students
group student by student.LastName into newGroup
orderby newGroup.Key
select newGroup;
https://docs.microsoft.com/en-us/dotnet/csharp/linq/group-query-results
解决方案
该Grouping
说法不正确。分组的别名必须在分组前声明。在选择值之前myGroup
声明然后分配使用。此外,在分组列之前Into Group
错过了- 关键字。Key
Dim users2 = From row As DataRow In dt.AsEnumerable()
Group row By myGroup = New With
{
Key .name = row.Item("user_name"),
Key .code = row.Item("user_code")
} Into Group
Select myGroup
推荐阅读
- import - 通过 SSMS 将平面文件导入 SQL Server 失败
- servlets - 直接使用access_token时Keycloak授权失败(403 - Forbidden)
- forgerock - OpenAM 的 WebAgent 安装失败
- memory - Kubernetes 中如何定义硬件资源?中央处理器和内存
- serial-port - 树莓派 3 串行通信
- android - FCM subscribeToTopic 不适用于旧的 GCM 令牌
- javascript - ajax 无法停止传播
- fortran - gfortran 指针过程类型问题
- android - 如何在 Android 应用程序中通过手指触摸裁剪图像?
- react-native-android - react-native getTimezoneOffset 仅适用于调试模式