星空网 > 软件开发 > ASP.net

Lind.DDD.Repositories.EF层介绍

回到目录

Lind.DDD.Repositories.EF以下简称Repositories.EF,之所以把它从Lind.DDD中拿出来,完全出于可插拔的考虑,让大家都能休会到IoC的魅力,用到哪种方法持久化,就将那个DLL放到应用程序中,完全不需要把所有持久化方式耦合到一个项目里,这也是遵循了OCP的原则,对扩展是开放的,即你可以添加其它的持久化方式,在新的项目里;而不要在原有的项目中进行代码的修改.

Repositories.EF做为数据持久化的一种方式,它直接继承了Lind.DDD.IRepositories接口模块,它实现了IRepository,IExtensionRepository和IOrderableRepository等仓储操作,开发人员在使用时,可以根据自己的需要去声明不同的接口变量,以最小程度的使用它,而不是所以时候都使用IExtensionRepository的完整接口,如你的类中只用到了实体的添加,那你完全可以把对象声明成IRepository基本仓储,这样你的使用时,也更加清楚.

Repositories.EF项目结构很简单,只有一个Repository的实现,看一下结构图

Lind.DDD.Repositories.EF层介绍

它内部使用了IExtensionRepository接口,由于IExtensionRepository同时继承了IRepository和IOrderableRepository,所以,EF在实现它时,这两个基接口也会现时被实现.

Lind.DDD.Repositories.EF层介绍

    IExtensionRepository<Task_Info> taskRepository;    public UserService()    {           taskRepository = ServiceLocator.Instance.GetService<IExtensionRepository<Task_Info>>();      taskRepository.SetDataContext(Db);    }

 <unity "http://schemas.microsoft.com/practices/2010/unity">  <container>   <!--泛型类型注入-->   <register type="Lind.DDD.IRepositories.IRepository`1,Lind.DDD" mapTo="Lind.DDD.Repositories.EF.EFRepository`1, Lind.DDD.Repositories.EF" />   <register type="Lind.DDD.IRepositories.IExtensionRepository`1,Lind.DDD" mapTo="Lind.DDD.Repositories.EF.EFRepository`1, Lind.DDD.Repositories.EF" />  </container> </unity>

最后,我们非常希望各位同学都学有所成...

回到目录




原标题:Lind.DDD.Repositories.EF层介绍

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

国际ems包裹:https://www.goluckyvip.com/tag/102569.html
美国小包价格:https://www.goluckyvip.com/tag/102571.html
寄国外包裹多少钱:https://www.goluckyvip.com/tag/102572.html
国际大牌背包:https://www.goluckyvip.com/tag/102573.html
ems国际邮包:https://www.goluckyvip.com/tag/102574.html
发国际包裹:https://www.goluckyvip.com/tag/102575.html
37号文今后是否会更新?一文详解关键信息 :https://www.kjdsnews.com/a/1836441.html
探讨内地人开设香港账户的可行性 :https://www.kjdsnews.com/a/1836442.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流