如何使用linq查詢和EF檢索分層樹結構?提取樹形結構
我的數據庫具有用於Tab
表其爲1對多至TabGroupBox
爲1對多至FieldDetail
我想檢索基於一些標準的結構僅部分。
說,我已在數據庫中的以下內容:
標籤(名稱)
"Tab1"
"Tab2"
"Tab3"
TabGroupBox(Tab.Name,名稱)
"Tab1", "Group1"
"Tab2", "Group2"
"Tab1", "Group3"
FieldDetail:(TabGroupBox.Name ,Name,FieldStatus)
"Group1", "Field1", "Good1"
"Group2", "Field2", "Good2"
"Group3", "Field3", "Bad"
"Group1", "Field4", "Good3"
"Group1", "Field5", "Bad"
如果該標準是爲FieldStatus含有「好」,然後我在尋找的結果是:
Tab1
-Group1
--Field1
--Field4
Tab2
-Group2
--Field2
然而,此刻只能似乎得到任何
Field1
Field2
Field4
或
0123:對應的字段Tab1
Tab1
Tab2
我不工作的查詢的樣本標籤的重複
我也試着利用的.Include()
但沒有成功
此外,如果可能的話,我想在DB模式投射到查詢中我的視圖模型,但這並不是如上述一樣重要。
看起來應該使用Common Table Expression創建數據庫視圖並將視圖映射到EF。 – MarcinJuraszek
@MarcinJuraszek你的建議如何解決我的問題?我可以在Sql和Linq中加入一個查詢,這個查詢給了我一個簡單的表格,但那不是我所追求的。 – PostureOfLearning
哎GRT問題-deceptively簡單,直到你看到你想要的下部葉片的一個子集返回的事實。我的直覺說,LINQ可能成爲累贅要做到這一點,但從來沒有說永遠 - 讓我有鑽研 –