none
請問Linq可以實現T-SQL中 Row_Number 與其 PARTITION BY 能力嗎? RRS feed

  • 問題

  • 剛好工作上有用到,為產品先分類再排目錄然後印出來。這類排序可用T-SQL辦到,語法大概如下:

    SELECT ROW_NUMBER() OVER (PARTITION BY [項目類別] ORDER BY [項目類別],[生產日期] AS [項目序號]
    ... ....

    請問 LINQ 可以辦到同樣的效果嗎?
    謝謝
    2009年6月4日 上午 07:42

解答

  • 只要 Provider 有支援就行,不過我想你還是放棄吧。
    因為 Partition 是資料庫才有的特性 ... 還是乖乖用 SQL 做吧。


    小人物一枚。
    • 已標示為解答 Lolota Lee 2009年6月10日 上午 07:18
    2009年6月4日 上午 08:16
    版主

所有回覆

  • 只要 Provider 有支援就行,不過我想你還是放棄吧。
    因為 Partition 是資料庫才有的特性 ... 還是乖乖用 SQL 做吧。


    小人物一枚。
    • 已標示為解答 Lolota Lee 2009年6月10日 上午 07:18
    2009年6月4日 上午 08:16
    版主
  • 可以吧!只是我目前頭很痛解不出來.
    你用GroupBy 就可解出群組,再配合一些小技巧就可以取得RowNumber了
    2009年6月4日 上午 08:41
  • 基本上,沒有直接的解就是了。
    就先不管了。乖乖用SQL吧。
    用Linq寫一大段碼,也很難看。用T-SQL好讀多了。

    就辛苦資料庫了,要多跑幾次。(~.~)

    2009年6月4日 上午 08:49