介绍
这篇文章将为大家详细讲解有关asp.net核心怎么实现一个简单的仓储的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一直有自己写个框架的想法,但是一直没有行动起来,最近比较闲,正好可以开工了。
现在已经完成了两部分。1。一个简单仓储,实现使用的是ef 2.国际奥委会部分,这里是把内置的奥委会替换成了aotofac,这部分感觉还是有一点缺陷的。下面说
<强>仓储部分强>
这里主要是接口是实现,目前使用ef实现了仓储的接口。看一下代码
, public interface IRepositorywhere 才能;TEntity :类 ,{ # region 才能选择/Get/查询 IQueryable<才能;TEntity>, GetAll (); IQueryable<才能;TEntity>, GetAllIncluding (params Expression< Func 在[],propertySelectors); List<才能;TEntity>, GetAllList (); Task<才能List 祝辞,谓词); Task<才能List 祝辞,谓词); T 才能;Query< T> (Func ,, T>, queryMethod); TEntity 才能得到(TPrimaryKey id); Task<才能;TEntity>, GetAsync (TPrimaryKey id); TEntity 才能;单(Expression 祝辞,谓词); Task<才能;TEntity>, SingleAsync (Expression 祝辞,谓词); TEntity 才能FirstOrDefault (TPrimaryKey id); Task<才能;TEntity>, FirstOrDefaultAsync (TPrimaryKey id); TEntity 才能;FirstOrDefault (Expression 祝辞,谓词); Task<才能;TEntity>, FirstOrDefaultAsync (Expression 祝辞,谓词); TEntity 才能加载(TPrimaryKey id); # endregion才能 ,# region 插入 TEntity 才能插入(TEntity 实体); Task<才能;TEntity>, InsertAsync (TEntity 实体); # endregion才能 # region 才能更新 TEntity 才能更新(TEntity 实体); Task<才能;TEntity>, UpdateAsync (TEntity 实体); TEntity 才能更新(TPrimaryKey id, Action , updateAction); Task<才能;TEntity>, UpdateAsync (TPrimaryKey id, Func , updateAction); # endregion才能 # region 才能删除 void 才能删除(TEntity 实体); Task 才能DeleteAsync (TEntity 实体); void 才能删除(TPrimaryKey id); Task 才能DeleteAsync (TPrimaryKey id); void 才能删除(Expression 祝辞,谓词); Task 才能;DeleteAsync (Expression 祝辞,谓词); # endregion才能 ,# region 骨料 int 才能Count (); Task<才能;int>, CountAsync (); int 才能;计数(Expression 祝辞,谓词); Task<才能;int>, CountAsync (Expression 祝辞,谓词); long 才能LongCount (); Task<才能;long>, LongCountAsync (); long 才能;LongCount (Expression 祝辞,谓词); Task<才能;long>, LongCountAsync (Expression 祝辞,谓词); # endregion才能 以前,}> 下面是实现的部分代码,代码比较占版面,就不贴全了。
, public abstract class RepositoryBase,:, IRepository where 才能;TEntity :类 ,{ public 才能abstract IQueryable< TEntity>, GetAll (); public 才能abstract IQueryable< TEntity>, GetAllIncluding (params Expression< Func 在[],propertySelectors); public 才能virtual List< TEntity>, GetAllList () {才能 ,,return GetAll () .ToList (); ,,} public 才能virtual async  Task 祝辞,GetAllListAsync () {才能 ,,return await  Task.FromResult (GetAllList ()); ,,} 以前,}
asp.net核心怎么实现一个简单的仓储的方法