使用 LINQ 分区进行行编号
给定一个填充了音乐家及其乐器的 DataTable,我们希望使用以下命令来模拟 MSSQL 查询的功能LINQ 确定每个乐器组内的位置顺序。
中LINQ,我们可以通过分组和选择操作的组合来完成此操作:
var orderedBeatles = from b in beatles group b by b.inst into instGroup select new { b.id, b.inst, b.name, rn = instGroup.Count() };
这里,我们根据 Beatles 的乐器 (inst) 对他们进行分组,并使用 Count() 方法来计算行号 ( rn) 对于每个仪器。然后,我们为每个 Beatle 创建一个匿名类型,包括原始属性以及计算的行号。
此 LINQ 查询产生以下输出:
id | inst | name | rn ----------------------------- 1 | guitar | john | 1 2 | guitar | george | 2 3 | guitar | paul | 3 4 | drums | ringo | 1 5 | drums | pete | 2
此结果反映了预期的结果MSSQL 查询的输出,使用 LINQ 分区在仪器组内提供所需的行编号。
以上是如何使用 LINQ 分区实现组内的行编号?的详细内容。更多信息请关注PHP中文网其他相关文章!