2012-01-31 30 views
0

考慮到我使用代碼等(使用或不使用(考慮到使用(??)可配置上下文)):以後可以從對象中提取實體框架的上下文嗎?

IQueryable<Konsultanci> listaKonsultantow; 
using (var context = new EntityBazaCRM(Settings.sqlDataConnectionDetailsCRM)) { 
     listaKonsultantow = from k in context.Konsultancis 
                select k; 
} 

我可以以某種方式提取上下文從Konsultanci對象使用稍後所以就不會不需要在課堂上存儲上下文?

foreach (Konsultanci test in listaKonsultantow) { 
     // get context here? 
} 
+0

那些POCO? – SLaks 2012-01-31 21:48:29

+0

我從SQL Server中加載這些對象。這是繼續http://stackoverflow.com/questions/9086722/can-entity-framework-context-be-reused-all-the-time-in-code和http://stackoverflow.com/questions/9083709/這兩個對象之間的關係不能被定義因爲它們被攻擊了很多錯誤之後,我定義了private private readonly EntityBazaCRM context = new EntityBazaCRM(Settings.sqlDataConnectionDetailsCRM);'在頂部它解決了我的問題。但我寧願從對象I中獲取上下文,而是使用上下文中定義的上下文。 – MadBoy 2012-01-31 21:50:06

回答

1

由於您在使用塊的末尾處理了上下文,所以您甚至不應該嘗試。

+0

如果我不使用'使用'會怎麼樣?但是'EntityBazaCRM context = new EntityBazaCRM(Settings.sqlDataConnectionDetailsCRM);'? – MadBoy 2012-01-31 21:48:11

+0

@MadBoy,你打算什麼時候處理你的環境呢? – 2012-01-31 21:57:10

+0

在GUI關閉?我試圖解決像我在這裏描述的問題出現的問題(http://stackoverflow.com/questions/9083709/the-relationship-between-the-two-objects-cannot-be-defined- because-they-是 - 阿塔)。與之戰鬥5個小時後,將上下文置於頂部並重新使用它解決了問題。所以現在我試圖找到最佳方法。除非你有辦法解決這個問題,否則我可以重新使用'using'。 – MadBoy 2012-01-31 22:03:28

1

將上下文作爲關注點分離將導致許多您感興趣的設計模式的路徑。您一定要查看存儲庫和依賴注入(統一是MS的DI容器,它有助於管理依賴性,例如您所擁有的數據上下文問題)。如果這些主題超出了您的項目範圍,那麼重新輸入您的使用說明可能不是問題。

相關問題