【问题标题】:Achieve equivelent of T-SQL ROW_NUMBER+OVER in Linq在 Linq 中实现 T-SQL ROW_NUMBER+OVER 的等价
【发布时间】:2009-10-01 19:50:32
【问题描述】:

是否可以在Linq中实现以下功能?

我想要得到的是一个记录列表,其中有一列显示从 1 开始的行号。我需要在 gridview 控件中显示行号,以便向用户直观地表示已填充了多少行.你为什么问?用户需要在此网格中输入准确数量的数据点以匹配“样本量”。这是一个记录质量数据的应用程序...

也许这可以通过使用 RowDataBound 事件并即时构建它来实现?

这里是查询:

SELECT ROW_NUMBER() OVER (ORDER BY [InspDataID]) AS 'RowNumber'
,[InspDataID]
      ,[KeyCharID]
      ,[InspValue]
  FROM [IncomingInsp].[dbo].[InspData]
where [KeyCharID] = 41

我在项目中使用 SubSonic3 和 Linq 语法。我一直在学习更多 Linq。

我尝试根据上面的查询创建视图(减去条件),但是在选择了所有行并且我的 rownumber 列最终不正确后应用了条件。

现在我已经创建了一个以 KeyCharID 作为标准的存储过程。这行得通。但我希望能够在 Linq 中实现这一点。我看过一些帖子,其中在 EF 中使用此 ROW_NUMBER 函数进行分页,但除此之外还没有弄清楚...

感谢您的帮助,

乔什·布莱尔

【问题讨论】:

    标签: tsql gridview subsonic3


    【解决方案1】:

    LINQ 的 Select() 方法有一个重载,它给你一个行号。查看 How do I add ROW_NUMBER to a LINQ query or Entity?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-24
      • 2013-02-24
      • 2020-01-31
      • 2018-10-16
      • 2012-05-10
      • 2011-12-10
      • 2010-11-10
      • 2020-03-28
      相关资源
      最近更新 更多