0
我在某處讀到,在C#Desktop應用程序中爲每個Form/Presenter使用新會話都是一個好主意。所以我決定每次選項卡索引更改時關閉會話。任何DB活動都會打開一個新的會話。 我在每個選項卡中都有一個樹形視圖,並且數據在它應該加載的時候(例如,當打開相應的節點時)。 唯一的問題是當我離開Tabpage並且樹有一些打開的節點,然後我回來。如何在切換它們時在每個頁面頁面上處理一個會話
有兩種不同的情況:
- 我點擊我已經有了一看我離開前,再訪該選項卡
- 我點擊葉節點從未一直看着葉節點在那個程序運行(但我們可以看到它,因爲父節點被展開)
在第一種情況下,一切正常。 在第二種情況下,我得到一個LazyInitialization異常。
1)我可以強制節點加載數據或記住數據,但會話已關閉嗎? 我不喜歡這個程序只使用一個會話的想法。
2)如果我記得樹狀態,崩潰它並重新展開必要的節點,你認爲它可能工作嗎?它會像用戶打開它時那樣加載數據嗎?
最好的問候,Expecto
太好了,聽起來不錯。我應該重新附加完整的樹視圖還是解決問題的擴展節點? – 2012-07-27 08:15:51
我會重新連接整個樹視圖,因爲這應該更簡單。會議只存儲引用 – Firo 2012-07-27 08:27:21
非常感謝,這應該工作! – 2012-07-27 08:29:26