2010-10-12 65 views
0

我的應用程序使用WPF用於UI,WCF用於WebService,EF4用於DataAccess。 我從互聯網和MSDN讀取了一些材料,EF4具有使用自定義T4模板的自我追蹤功能,即使與WCF一起使用ntier也是如此。這是否意味着延遲加載功能仍然可以使用WCF?是否可以在EntityFramework4中與WCF一起使用延遲加載函數?

感謝

+1

你真的*想要客戶端對象從服務器上懶洋洋地加載嗎?這似乎是一場災難。 – 2010-10-12 16:29:06

回答

0

自追蹤實體是一種哈克,恕我直言。它們的設計使得一旦反序列化(即在WCF頻道的最遠端),它們就開始跟蹤對自身的更改。當你將它們寄回家時,這很好,因爲你可以將它們重新連接到一個上下文,並且所有的東西(假設)都可以工作。

自我跟蹤和延遲加載是兩個不同的事情。 EF自我跟蹤實體與數據上下文斷開連接,並且在您的客戶端沒有數據上下文。所以他們不能懶惰地加載任何東西。

從客戶的角度來看,沒有即插即用的框架混合WCF和EF是無縫的。當然可以做到。一些新的T4模板,您將擁有一個自動生成的WCF服務合約,您的實體可以使用它執行延遲加載。當然,你不得不寫這個。
編輯第二個想法,你可能會有更多的運氣與WCF Data Services