2014-12-03 125 views
1

我有一個上下文類,在某些時候我需要從我的POCO類中的數據庫獲取數據,以便我可以序列化該數據併發送到我的Web服務。我不想在另一端反序列化代理,但我無法強制EF創建我的POCO類。實體框架6.1.1忽略ProxyCreationEnabled設置

我使用下面的代碼檢索數據:

((IObjectContextAdapter) this).ObjectContext.ContextOptions.ProxyCreationEnabled = false; 
var nodes = (from node in TreeNodes select node).ToList(); 
((IObjectContextAdapter)this).ObjectContext.ContextOptions.ProxyCreationEnabled = true; 

注意,樹節點是一個TPH和基類是抽象的。有沒有辦法在我的情況下獲得POCO課程?

+0

我想這會發生,如果你已經有一些代理加載。請參閱http://stackoverflow.com/a/5015424/242520 – 2014-12-03 09:49:29

+0

您的意思是在第一次查詢運行後忽略ProxyCreationEnabled設置? – DarkDeny 2014-12-03 11:26:10

+0

我的意思是說,對於已經加載爲代理的實體...它們已經加載。所以你得到的實體加載爲代理。 – 2014-12-03 11:29:17

回答

1

我通過再次實例化相同的上下文,設置配置,然後運行查詢和處理上下文來解決此情形。