看板 C_Sharp 關於我們 聯絡資訊
想請問能否提供關鍵字去實現以下內容 我可以用php做到,但mvc剛接觸…不熟 我已經有用entitiy framework,產生model了 也可以在view裡面顯示list, 但假設我要用其中一個欄位去select 其他資料庫的某個table的欄位資料,該如何實現比較恰當? 以前php做法就是把主table撈出來後,再去for loop 裡面下sql去把其他資料庫的table欄位值抓出來 謝謝! ----- Sent from JPTT on my Asus ASUS_Z01RD. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.30.103.31 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1591970202.A.498.html
ian90911: 跨資料庫? 還是只是跨表? 06/13 15:32
airtsubasa: 跨資料庫 06/13 21:38
airtsubasa: 用ms sql 的某個欄位去查詢oracle 某個table有沒有存 06/13 21:39
airtsubasa: 在這個值 06/13 21:39
airtsubasa: 這兩者做法不一樣嗎? 06/13 21:41
name2name2: 可以先把Sql寫出來 然後用SqlCommand去抓 06/14 15:40
name2name2: 例如https://einboch.pixnet.net/blog/post/244229579 06/14 15:40
name2name2: sql寫出來 也可以看怎麼轉成EF的語法做法去抓也行 06/14 15:41
airtsubasa: 謝謝樓上,我後來先把這兩個table先取出變成list,再 06/15 18:39
airtsubasa: 透過linq先取主list再去子查詢子list,想請問這種方式 06/15 18:39
airtsubasa: 會不會有效能問題 06/15 18:39
awwseed: 兩邊如果先撈出來到 List 代表都進記憶體了吧? 06/15 19:29
awwseed: 如果兩邊都一千萬筆資料,那你就是先把兩千萬筆資料讀出 06/15 19:29
awwseed: 接下來就在記憶體裡面操作了 06/15 19:30
awwseed: 可以思考一下這功能有必要每次都全撈出來再用 LINQ 嗎? 06/15 19:31
airtsubasa: 我最初的想法是在view那端去做select其他資料庫欄位動 06/15 19:45
airtsubasa: 作,這樣最多只做分頁數的筆數,不過不知道如何實做 06/15 19:45
airtsubasa: 也不確定適不適合在這做,資料量大概是2000對2000 06/15 19:46
airtsubasa: 問的方式可能蠢!謝謝回覆 06/15 20:15
name2name2: 可以用JOIN的方式 先用表A的資料用WHERE 篩過 06/15 20:31
name2name2: 再去JOIN表B 就可以一次取得條件內的表A表B資料 06/15 20:32
name2name2: 取回AB資料到程式後 在程式內部繼續處理 06/15 20:32
awwseed: 你的分頁如果在 Controller 做的話,可以在 return 前 06/16 13:59
awwseed: 把分頁後的 A 資料去跨 DB 查 B資料表後組合起來 06/16 14:00
awwseed: 再將最終結合完的結果 return View(viewModel) 06/16 14:00
awwseed: 如果你現在是直接將 EntityFramework DB First 產出來的 06/16 14:01
awwseed: Model 回傳到 View 的話,看你要做一個 Partial class 06/16 14:01
awwseed: 或是建立另一個 ViewModel 的 Class 將你需要的 A、B資料 06/16 14:02
awwseed: 欄位都放在這個 Class 中,前台的檢視(View) 接這個Class 06/16 14:02
awwseed: 做畫面的呈現也是可以 06/16 14:02
airtsubasa: 謝樓上,原來分頁後還可以處理,已照著實作ok 06/16 17:46