其他分享
首页 > 其他分享> > 项目实战杂笔

项目实战杂笔

作者:互联网

仓储模式:

Repository&IRepository  仓储层

Service&IService  服务层

Models  数据层

1.使用sqlsugar,一般在Models层引入SqlSugarCore 和 SqlSugar.IOC 两个Get包 因为其他层一般都会调用到models层,因此只需在models引入包,其他调用models层即可

2.增删改查是基本的,因此创建一个Base基类,包括了增删改查。当其他实体需要CRUD以外的方法时,重写/override或者新增对应的方法即可

2.1  I开头写接口,反之写实现

      /// <summary>
        /// 增
        /// <returns></returns>
        bool Inserta(T entity);
        /// <summary>
        /// 删
        /// <returns></returns>
        bool Delete(int id);
        /// <summary>
        /// 改
        /// <returns></returns> 
        bool Updata(T entity);
        /// <summary>
        /// 查询全部
        /// <returns></returns>
        List<T> QueryAll();
        /// <summary>
        /// 条件查询所有
        /// <returns></returns>
        List<T> QueryConditionAll(Expression<Func<T,bool>> expression);
        /// <summary>
        /// 查询第一个
        /// <returns></returns>
        T QueryFirst(int id);
        /// <summary>
        /// 根据条件查询第一个
        /// <returns></returns>
        T QueryConditionFirst(Expression<Func<T, bool>> expression);
接口
  public bool Delete(int id)
        {
            return base.DeleteById(id);
        }

        public bool Inserta(T entity)
        {
            return base.Insert(entity);
        }

        public List<T> QueryAll()
        {
            return base.GetList();
        }

        public List<T> QueryConditionAll(Expression<Func<T, bool>> expression)
        {
           return base.GetList(expression);
        }

        public T QueryConditionFirst(Expression<Func<T, bool>> expression)
        {
           return base.GetFirst(expression);
        }

        public T QueryFirst(int id)
        {
            return base.GetById(id);
        }

        public bool Updata(T entity)
        {
            return base.Update(entity);
        }
实现

3. Startup配置。这里使用的是sqlsugar自带的IOC进行依赖注入,以此来使用sqlsugar

       #region SQLsugarIOC 注入配置
            services.AddSqlSugar(new SqlSugar.IOC.IocConfig()
            {
                ConnectionString = Configuration["SqlConnection"],  //数据库连接字符串
                DbType = SqlSugar.IOC.IocDbType.SqlServer,          //数据库类型
                IsAutoCloseConnection = true                        //自动释放               
            });
            #endregion                    

 

标签:实战,return,项目,entity,杂笔,base,id,expression,public
来源: https://www.cnblogs.com/zhang-3/p/16526178.html