我試圖在設置中使用EF4.1,其中我將有一個DAL(數據訪問層),BLL(業務邏輯層),然後是表示層(通常是ASP.NET Web應用程序或控制檯應用程序也許)。多層應用程序中的實體框架
目前我做所有使用LINQ to SQL的項目,並具有使用上面描述的多層的設置。
在看EF時,雖然所有的例子都只使用1層或2層,但很難找到使用DAL和BLL的完整示例。
離我最近的想要的是使用POCO代碼生成器來創建POCO類,然後將這些類重新定位到我的BLL項目中 - 並且.edmx和對象上下文保留在DAL。
這個問題雖然是DAL需要一個BLL的引用,以便它知道POCO類 - 理想情況下引用將是另一種方式。如果DAL引用了BLL,那麼我也無法從BLL引用DAL - 因爲你不能有循環引用,所以我不能對對象上下文做任何事情,比如調用bll中的save changes方法。
無論如何,我已經陷入了一團糟。
我正在考慮以不同的方式(類似於我現在使用LINQ to SQL進行的操作)將EF實體對象留在DAL中,並且我編寫自己的BLL類,這些類只是「捎帶」到他們的DAL對象計數器部件。這樣DAL可以參考BLL和BLL。
對不起,它很長的問題,但欣賞人們的想法,我真的花了幾個小時閱讀EF,但很難看到它如何在多層次的方法工作。
我們正在採取相同的方法。使用EF時,我在單獨的DAL中看不到任何值。 –