我已經閱讀了關於實體框架生成對象的WCF序列化的幾個問題/文章,但是我發現的所有解決方案都涉及到啓用急切加載,這正是我嘗試不做的事情。如何阻止WCF序列化的實體框架類嘗試延遲加載?
我實際上得到了與此處提到的The ObjectContext instance has been disposed - Winforms Entity Framework相同的錯誤,區別在於我使用的是Silverlight應用程序中的WCF服務。
我有一個表User_Notifications
有一個表的外鍵User_Info
。 (如果我沒有正確使用術語,單個User_Info
可指向許多User_Notifications
)。我正在使用實體框架4,它爲這兩者創建了一個類。我有一個WCF調用返回:
return DBEntity.User_Notifications.Where(w => w.UserGUID == UserGuid && w.IsDismissed == false).ToArray();
這給了我所有的User_Notifications
,我需要,但我得到的ObjectContext的實例已在客戶端上,它看起來像一個嘗試加載相關配置錯誤User_Info
類。我不希望User_Info
數據,但我希望它保持空或什麼,我不需要它顯示通知。
那麼,如何傳遞我的實體對象而無需傳遞關聯對象呢?
我的老闆說這只是'我們不需要數據庫中的外鍵'的另一個原因,我真的不想走這條路。
聽起來像你的老闆應該堅持與編程無關的事情。 – Matthew
@Matthew我的老闆是框架開發人員,並且一直在過去10年。幾個月前,我向他展示了這個叫做.net字典的很酷的新東西。 – cost
可能有用:http:// geekswithblogs。net/danemorgridge/archive/2010/05/04/entity-framework-4-wcf-amp-lazy-loading-tip.aspx(禁用延遲加載) – Matthew