赞
踩
一、SqlSugar介绍及分析
SqlSugar是一款 老牌 .NET 开源ORM框架,连接DB特别方便
支持数据库:MySql、SqlServer、Sqlite、Oracle 、 postgresql、达梦、人大金仓
官方文档:http://www.donet5.com/Home/Doc
SqlSugar的优点:
1、高性能:不夸张的说,去掉Sql在数据库执行的时间,SqlSugar是EF数倍性能,另外在批量操作和一对多查询上也有不错的SQL优化;
2、高扩展性 :支持自定义拉姆达函数解析、扩展数据类型、支持自定义实体特性,外部缓存等;
3、稳定性和技术支持: 虽然不是官方ORM, 但在稳定性上也是有着数年用户积累,如果遇到问题可以在GITHUB提出来,会根据紧急度定期解决;
4、功能全面:虽然SqlSugar小巧可功能并不逊色于EF框架
5、创新、持续更新 ,向下兼容
二、SqlSugar项目中的使用
1、包的引用:
2、全局引用:
3、接口中常用方法封装
1)、ISqlSugarRepository接口封装
- public interface ISqlSugarRepository<TEntity> : IBaseRepository where TEntity : class
- {
- /// <summary>
- ///
- /// </summary>
- ISqlSugarClient Db { get; }
-
- /// <summary>
- /// 执行查询SQL语句
- /// 只支持查询操作,并且支持拉姆达分页
- /// </summary>
- /// <param name="sql"></param>
- /// <returns></returns>
- Task<List<TEntity>> ExecuteSql(string sql);
- /// <summary>
- /// 通过Ado方法执行SQL语句
- /// 支持任何SQL语句
- /// </summary>
- /// <param name="sql"></param>
- /// <param name="whereObj"></param>
- /// <returns></returns>
- Task<List<TEntity>> ExecuteAllSql(string sql, object whereObj = null);
- /// <summary>
- /// 插入实体
- /// </summary>
- /// <param name="model"></param>
- /// <returns></returns>
- Task<int> Add(TEntity model);
-
- /// <summary>
- /// 批量插入实体
- /// </summary>
- /// <param name="listEntity"></param>
- /// <returns></returns>
- Task<int> Add(List<TEntity> listEntity);
-
- /// <summary>
- /// 根据实体删除数据
- /// </summary>
- /// <param name="model"></param>
- /// <returns></returns>
- Task<bool> Delete(TEntity model);
-
- /// <summary>
- /// 根据实体集合批量删除数据
- /// </summary>
- /// <param name="models"></param>
- /// <returns></returns>
- Task<bool> Delete(List<TEntity> models);
-
- /// <summary>
- /// 根据ID删除数据
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- Task<bool> DeleteById(object id);
-
- /// <summary>
- /// 根据IDs批量删除数据
- /// </summary>
- /// <param name="ids"></param>
- /// <returns></returns>
- Task<bool> DeleteByIds(List<object> ids);
-
- /// <summary>
- /// 更新实体
- /// </summary>
- /// <param name="model"></param>
- /// <returns></returns>
- Task<bool> Update(TEntity model);
-
- /// <summary>
- /// 批量更新实体
- /// </summary>
- /// <param name="listEntity"></param>
- /// <returns></returns>
- Task<int> Update(List<TEntity> listEntity);
-
- /// <summary>
- /// 根据ID查询一条数据
- /// </summary>
- /// <param name="objId"></param>
- /// <returns></returns>
- Task<TEntity> GetById(object objId);
-
- /// <summary>
- /// 根据条件查询数据是否存
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。