2009-12-17 122 views
2

好吧,這個可能沒有一個簡單的答案,但讓我們看看。通過中間層的實體框架

我想設計一個DAL,它將坐在網絡上並向正在編寫需要使用我們數據庫的客戶端的開發人員提供EF對象。

例如:

的DAL具有一定的被叫方和DEPARTMENT EF對象。

開發人員希望編寫一個客戶端,該客戶端可以使用WCF引用DAL,並向他展示了代理上下文和EF對象,以便他可以在設計時執行正常的LINQ查詢。在運行時此查詢被傳遞給實際執行它的DAL,並通過所產生的對象返回給客戶端

 var query = from c in DALReference.PERSON 
        where c.FISTNAME == "FRED" 
        select c; 

     foreach (PERSON p in query) 
     { 
      lstItems.Items.Add(p.FIRSTNAME); 
     } 

現在我讀過的東西負載圍繞如何EF V1還不夠成熟內容十分重要亞達。這不適合我。我需要代碼爲一個大型項目的解決方案,必須在明年9月份之前,所以我不能等待v2或.NET 4

我也讀過關於POCO和持久性無知的說實話,它的一切如此分散,我正在努力爭取我的頭。

所以,任何人都想幫助一些容易理解的例子,指導或建議如何才能做到這一點?

噢,還有最後一塊拼圖。我需要通過TCP而不是HTTP進行通信。

謝謝!

回答

1

你看過ADO.NET數據服務或RIA服務嗎?兩者以稍微不同的方式或多或少地做你想要的。除非我真的迫切需要,否則我會從其中一個開始。

+0

ADO.NET Data Services僅通過HTTP進行通信。哪些不適合我。我試圖分流管道的數據可能相當大,因此我認爲這需要二進制 – Spanners 2009-12-17 17:59:12

+0

只是有一個想法...除非有辦法讓ADO DS作爲TCP傳輸? – Spanners 2009-12-17 18:01:43

+0

Silverlight 4支持TCP,因此RIA Services也應該如此。但我從來沒有嘗試過。 – 2009-12-17 18:48:26

0

您可能會感興趣使用開源N-Tier Entity Framework這在服務器端使用實體框架,並生成整個基礎設施建設基於WCF的n層體系結構,包括客戶端的類似EF的API。