分享至
如題今日發現使用OrderByDescending排序之資料僅顯示至99999檢查後發現序號超過10萬之筆數沒被排序到想請問這是LINQ的限制還是設定可更改的呢?感謝各位祝聖誕快樂~
已邀請的邦友 {{ invite_list.length }}/5
這個序號欄位是varchar格式的嗎?
是的是因為這個原因嗎?
數值(integer,long,double,float,number)才能直接排序,遇到varchar型式的序列,不能直接排序,不然會出現10000099991999929999399994....99999這樣的怪異現象
如果要LINQ,你可以把資料結果.ToList()再.OrderBy(),如
var data = (from p in myDB.Table where ..... select p).ToList().OrderBy(s=>int.Parse(s.id));
但如果這個id裡有null或非數字字元,會出錯哦
原來如此感謝大大經驗分享!
IT邦幫忙