使用Linq-to-SQL我想要預取一些數據。使用Linq-to-SQL,IOC和存儲庫模式預取數據
1)常見的解決方案是應對DataLoadOptions,但在我的建築將無法正常工作,因爲:
- 的選項具有第一查詢
- 我前設置使用國際奧委會,所以我不直接實例化DataContext的(我不能instanciation執行代碼)
- 我的DataContext是一個Web請求期間持續
2)我已經看到了另一種可能基於裝載的數據及其孩子的的方法,那麼僅返回數據(所以孩子已經裝入)see an example here
然而,在我的建築,它不能不行:
- 我的查詢級聯了我的倉庫,並且可以通過許多服務消費將增加的條款
- 我用的接口工作,LINQ到SQL對象的具體情況不離開存儲庫(是的,你c與界面的工作,並增加條款)
- 我的倉庫是通用
是的,這種架構是安靜複雜,但它非常酷,因爲我可以用樂高積木一樣的代碼打;)
我的問題是:什麼是其他可能性預取數據?
謝謝,這是一個非常有趣的解決方案。它以數據對象爲中心,我發現它更好。不幸的是,它不能回答我當前的需求,因爲我的整個架構都基於延遲加載,並且提取的屬性是例外!然而,我會嘗試基於這種'以數據對象爲中心'的寫作方式創建一個FetchItem和FetchList ,因爲我非常喜歡它。我正在考慮使用屬性來自動生成我之前說過的'CustomDCParameter'類。如果我找到一個可接受的解決方案(當我有時間處理它時),我會分享。仍然聽好的建議 –
Mose
2009-11-09 11:48:01
我想你可能會誤解我 - 當你說'抓''你的意思是立即從數據庫加載?而不是懶/加載延遲? – 2009-11-09 12:38:31