iT邦幫忙

1

MVC 多資料庫查詢與讀取運算

各位大神好:
小弟我最近遇到一個小問題是有關資料庫查詢與讀取,相關的資料庫明細如下圖所示:
(p.s.方案為複合鍵)
https://ithelp.ithome.com.tw/upload/images/20191128/20123223q8MNEogAf2.png
簡單說明一下:
一個專案裡會有多個屬性,同專案裡面每個屬性皆有相同數量的方案,如下圖所示:
https://ithelp.ithome.com.tw/upload/images/20191128/20123223PMEZxW8sJ6.png
請問有無辦法在mvc裡僅輸入專案編號(即Prj01)就有辦法列出所有屬性的方案之數值,並且儲存到陣列裡以利後續運算?

5
小魚
iT邦大師 1 級 ‧ 2019-11-28 22:31:21

這應該是屬於SQL的問題吧,
跟MVC無關,
另外建議欄位名稱不要用中文.

SELECT Table1.專案編號, Table1.專案名稱, Table2.屬性編號, Table2.屬性名稱, Table3.方案編號, Table3.方案名稱, Table3.分數
FROM Table1
INNER JOIN Table2 ON Table1.專案編號 = Table2.專案編號
INNER JOIN Table3 ON Table2.屬性編號 = Table3.屬性編號
WHERE Table1.專案編號 = 'Prj01'

記得要使用參數查詢
才不會有SQL Injection的問題.

0
阿展展展
iT邦好手 1 級 ‧ 2019-11-29 06:28:16

在mvc裡僅輸入專案編號 /images/emoticon/emoticon19.gif
請問你要在「哪個地方」「輸入什麼」

0
stoneshow
iT邦新手 5 級 ‧ 2019-11-29 11:25:50

看不太懂你的問題。
1:join資料表產生sqlview的反正規化表格提供查詢
2:寫nested class存放資料,提供函式傳入參數,並遞迴輸出集合,或是flatten成key,value結果的集合。

0
Tony_Tsai
iT邦新手 5 級 ‧ 2019-12-04 18:09:55
dbContext.專案
    .Where(o=>o.專案編號=="prj01")
    .Include(o=>o.屬性)
    .ThenInclude(x=>x.方案)
    .Select(o=> o.屬性.方案.分數)
    .ToArray()

不負責任Linq...XD

我要發表回答

立即登入回答