簡體   English   中英

具有實體框架6的實用程序DAL層

[英]Utility DAL layer with entity framework 6

我想知道用EF制作dal層的實用性。 考慮到EF DBContext是unitOfWork並且List DBSet是存儲庫,為什么不直接在業務層中調用EF呢? 因此,為什么要添加一個額外的DAL層,最終還是要成為一個外觀。.我看到的唯一優勢是,如果我們不得不更改數據訪問實現,例如用Hibernate或其他方法替換EF。 但老實說,我從未見過這種情況。

實際上,對於數據映射器,開發DAL的必要性毫無用處,因為它包含0行代碼。

數據映射器之上的所有內容都不是數據訪問層,而是實際域,因為像OR / M這樣的數據映射器實現將您的對象轉換為基礎關系數據,反之亦然,而您在它們之上進行的工作就是開發您的並錯過了對象關系阻抗的痛苦。

在數據映射器之上引入存儲庫模式的意義在於,從長遠來看,您希望兩者都能夠將基礎數據存儲甚至切換到非關系存儲(也要從NoSQL切換到SQL,誰知道! ),並且在軟件中引入存儲庫層還有另一個明確的理由: 因為您希望能夠使用偽造品來模擬數據存儲,以便對您的域進行單元測試

最后,即使Entity Framework實現了工作單元和其他模式,有時它們的實現也可能不適合您自己的域要求,因此您需要包裝它們以為您的域提供更多內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM