仓储模式还适用于EF Core吗?
EF Core已经出2.1版,开始考虑使用据传性能调优已经接近C++的.Net Core写新项目。想要抛弃以前使用asp.net那种sql脚本的码代码方式。同时找了一些开源的项目,比如ABP,SimpleCommerce。 其中ABP项目大而全,封装了很多模式,但文档更多是描述如何使用,如果自己不去看代码很容易不知所云。ABP项目基于Ioc( castle windsor )的动态代理特性实现了及其灵活的模块化方案,可以在运行过程中加载项目并初始化。同时ABP封装了自身的UnitofWork方式,结合了IoC框架太多特性 ( castle windsor )。 比如使用了该框架动态代理的实现,在业务执行之前插入UnitofWork相关逻辑。 而SimpleCommerce则利用了AutoFac以及asp.netcore的特性实现了模块化。对于仓储模式涉及的比较少。对于项目解耦可以说是一个简单的示例。 那么究竟要怎么开始EFCore项目?近期看到一篇,比较实用简单。 不,仓储或者说unit-of-work模式(简称 Rep/UoW)不再使用于EF Core。EF Core 已经实现了Rep/UoW模式,因此在ef core之上再抽象一层Rep/UoW模式,并无帮助。 比较明智的选择是直接使用EF Core,这样你可以使用EF Core 的全部功能,以实现高性能的数据库访问。