[問題] Linq Selec new

看板C_Sharp作者 (阿風~~)時間4年前 (2020/04/05 13:19), 編輯推噓8(8010)
留言18則, 9人參與, 3年前最新討論串1/1
請問,若我想要修正某個list中的屬性如下 class a { int id{get;set;} string name {get;set;} } 然後我變成 List<a> d = from db in DataBase selec {z=> new a{id = z + 1033, name =z.name}} 通常我是這樣做,但這樣,我有十萬筆的話,是不是,還是會跑十萬次? 有沒有比較有效率的做法? 同一個類別,我只想修正某個屬性而已。 這個例子可能不好,但重點是,我想修正list中,某個屬性而已 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.183.137.203 (泰國) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1586063984.A.10C.html

04/05 13:22, 4年前 , 1F
直接下sql
04/05 13:22, 1F

04/05 14:18, 4年前 , 2F
你這樣寫,如果不會報錯,就表示他會幫你轉成SQL
04/05 14:18, 2F

04/05 14:18, 4年前 , 3F
除非你的DataBase是IEnumerable而不是IQueryable
04/05 14:18, 3F

04/05 14:20, 4年前 , 4F
如果DataBase是IQueryable,這段程式後面要加ToList()
04/05 14:20, 4F

04/05 15:19, 4年前 , 5F
我的例子舉的不好,我用的是object跟資料庫沒關係
04/05 15:19, 5F

04/05 15:21, 4年前 , 6F
我只是想在list中修改某個屬性,其它屬性不變
04/05 15:21, 6F

04/05 15:38, 4年前 , 7F
十萬次是跑不定最多是讓他在列舉時跑十萬次或是改用
04/05 15:38, 7F

04/05 15:38, 4年前 , 8F
非同步集合,用非同步跑那十萬次
04/05 15:38, 8F

04/05 18:02, 4年前 , 9F
非同步集合?請問是什麼?
04/05 18:02, 9F

04/05 18:45, 4年前 , 10F
修改屬性用linq的.ForEach就好
04/05 18:45, 10F

04/05 22:42, 4年前 , 11F
加一個屬性 int id2 {get { return id + 2003 }}
04/05 22:42, 11F

04/05 22:44, 4年前 , 12F
使得 id2在讀取時再運算,但是如果你需要多次巡覽 list
04/05 22:44, 12F

04/05 22:44, 4年前 , 13F
所有成員,就不適合
04/05 22:44, 13F

04/06 10:47, 4年前 , 14F
直接改db的值吧 不然就在下sql時就先加好
04/06 10:47, 14F

04/06 19:55, 4年前 , 15F
謝謝各位
04/06 19:55, 15F

04/09 17:01, 4年前 , 16F
SQL > UpdateRange >>>>>> FoorLoop Update
04/09 17:01, 16F

04/10 14:31, 4年前 , 17F
這種複雜度10萬次根本小case
04/10 14:31, 17F

05/25 15:41, 3年前 , 18F
不放心的話,可以利用LINQPAD幫你轉成SQL看看阿
05/25 15:41, 18F
文章代碼(AID): #1UYMfm4C (C_Sharp)