如果一個項目已經將POCO用於實體並使用了實體框架並使用延遲加載,那麼您將有一個「不完整」的對象圖形通過網絡返回。因此,當客戶使用實體時,是否有某種代理會自動加載剩餘的值?我們是否必須自己創建這個代理並將原始實體包裹在其中?或者是否有一種可接受的模式來識別延遲加載類型,然後通知客戶端再次調用WCF?延遲加載的POCO實體,實體框架和WCF如何一起工作?
0
A
回答
1
使用扁平DTO,您可能不希望將您的完整域公開給客戶端。 WCF是基於消息的,而不是域驅動的。
2
延遲加載與WCF往往不能奏效,因爲你的方法是這樣的:
public List<MyPoco> GetData()
{
using (var context = new MyObjectContext())
{
return context.MyPocos.ToList();
}
}
正如你看到上下文中的方法(你必須從某個地方關閉上下文)關閉。但是當列表序列化時,它會嘗試延遲加載相關對象= >異常,因爲上下文已關閉。在WCF中,您應該使用預先加載。
相關問題
- 1. 實體框架延遲加載和ICollection
- 2. 延遲加載,延期加載和實體加載實體框架
- 3. 從實體框架4.0中的POCO延遲加載子類
- 4. 延遲加載不適用於實體框架中的POCO類
- 5. 實體框架 - 延遲加載,加載子實體問題
- 6. 實體框架延遲加載
- 7. 實體框架延遲加載問題
- 8. 延遲加載相關實體不與實體框架一起使用4.1
- 9. WCF和實體框架4.1 POCO
- 10. 實體框架POCO
- 11. POCO實體框架
- 12. 實體框架+ POCO
- 13. 實體框架和POCO
- 14. 實體框架4和POCO
- 15. 如何在實體框架中使用延遲加載來序列化實體?
- 16. 對實體延遲加載
- 17. WCF和實體框架懶加載
- 18. 實體框架和延遲加載的ICollection執行
- 19. 實體框架中的異步查詢和延遲加載
- 20. 實體框架和延遲加載的問題
- 21. 實體框架延遲加載失敗,只是添加實體的屬性
- 22. 實體框架級聯刪除和延遲加載
- 23. 實體框架中的POCO
- 24. C#實體框架延遲加載,如果沒有分離
- 25. 實體框架不延遲加載FK集合添加
- 26. 實體框架延遲加載不起作用從其他線程
- 27. 在MySql不工作的實體框架6中延遲加載數據
- 28. 禁用延遲加載的實體框架導航屬性
- 29. 實體框架延遲加載的集合有時空
- 30. 在實體框架中延遲加載的問題
...即使上下文沒有關閉,它仍然*是一個壞主意。延遲加載對於分佈式對象來說過於瑣碎。 – 2010-09-22 12:49:57
我們遇到的問題是,我們有一些包含數千個訂單項的帳戶。除非有人提出要求,否則我們不希望通過網絡將其序列化。 – uriDium 2010-09-22 13:20:51
所以你需要兩個操作。一個包含項目,另一個包含項目 – 2010-09-22 13:25:38