iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ABP引入SqlSugar框架创建使用的方法
  • 574
分享到

ABP引入SqlSugar框架创建使用的方法

2023-06-30 11:06:05 574人浏览 安东尼
摘要

这篇文章主要介绍了abp引入sqlSugar框架创建使用的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ABP引入SqlSugar框架创建使用的方法文章都会有所收获,下面我们一起来看看吧。一 新建类库为了代

这篇文章主要介绍了abp引入sqlSugar框架创建使用的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ABP引入SqlSugar框架创建使用的方法文章都会有所收获,下面我们一起来看看吧。

一 新建类库

为了代码清晰,我新建了一个类库。引入了SqlSugar的框架包,2个仓储类,1个DbContext

ABP引入SqlSugar框架创建使用的方法

声明实体

    [SugarTable("BasBloodLevel")]    public class BasBloodLevel    {        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]        public int Id { get; set; }        public string Code { get; set; }    }

二 基本仓储

先实现基本仓储IBaseRepository 与 BaseRepository

    /// <summary>    /// 基类接口,其他接口继承该接口    /// </summary>    /// <typeparam name="TEntity"></typeparam>    public interface IBaseRepository<TEntity> where TEntity : class    {        /// <summary>        /// 根据ID查询        /// </summary>        /// <param name="objId"></param>        /// <returns></returns>        Task<TEntity> QueryByID(object objId);         /// <summary>        /// 添加        /// </summary>        /// <param name="model"></param>        /// <returns></returns>        Task<bool> Add(TEntity model);         /// <summary>        /// 修改        /// </summary>        /// <param name="model"></param>        /// <returns></returns>        Task<bool> Update(TEntity model);         /// <summary>        /// 删除        /// </summary>        /// <param name="ids"></param>        /// <returns></returns>        Task<bool> DeleteByIds(object[] ids);     }
/// <summary> /// 基类实现 /// </summary> /// <typeparam name="TEntity"></typeparam> public class BaseRepository<TEntity> : DbContext<TEntity>, IBaseRepository<TEntity> where TEntity : class, new() { /// <summary> /// 写入实体数据 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task<bool> Add(TEntity model) { //这里需要注意的是,如果使用了Task.Run()就会导致 sql语句日志无法记录改成下面的 //var i = await Task.Run(() => Db.Insertable(model).ExecuteCommand()); var i = await Db.Insertable(model).ExecuteCommandAsync(); return i > 0; } /// <summary> /// 根据ID删除 /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task<bool> DeleteByIds(object[] ids) { var i = await Db.Deleteable<TEntity>().In(ids).ExecuteCommandAsync(); return i > 0; } /// <summary> /// 根据ID查询一条数据 /// </summary> /// <param name="objId"></param> /// <returns></returns> public async Task<TEntity> QueryByID(object objId) { return await Db.Queryable<TEntity>().InSingleAsync(objId); } /// <summary> /// 更新实体数据 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task<bool> Update(TEntity model) { //这种方式会以主键为条件 var i = await Db.Updateable(model).ExecuteCommandAsync(); return i > 0; } }

三 实现SqlSugar的DB

此处的 ConnectionString 地址,我们可以直接读取 ABP框架的配置文件,但是为了方便我直接写死了

    public class DbContext<T> where T : class, new()    {        public DbContext()    {        Db = new SqlSugarClient(new ConnectionConfig()        {//数据库地址我们可以直接读取 ABP框架的配置文件,但是为了方便我直接写死了            ConnectionString = "Server=****; Database=****; Uid=sa; Pwd=****;MultipleActiveResultSets=true;",            DbType = DbType.SqlServer,            IniTKEyType = InitKeyType.Attribute,//从特性读取主键和自增列信息            IsAutoCloseConnection = true,//开启自动释放模式         });        //调式代码 用来打印SQL         Db.aop.OnLogExecuting = (sql, pars) =>        {            Console.WriteLine(sql + "\r\n" +                Db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));            Console.WriteLine();        };     }    //注意:不能写成静态的    public SqlSugarClient Db;//用来处理事务多表查询和复杂的操作    public SimpleClient<T> CurrentDb { get { return new SimpleClient<T>(Db); } }//用来操作当前表的数据     public SimpleClient<BasBloodLevel> BasBloodLevelDb { get { return new SimpleClient<BasBloodLevel>(Db); } }//用来处理User表的常用操作 }

四 实现依赖注入

这样我们就能全局使用了

    [DependsOn(typeof(AbpZeroCoreModule))]    public class Module : AbpModule    {        public override void Initialize()        {            iocManager.ReGISter(typeof(IBaseRepository<>), typeof(BaseRepository<>), DependencyLifeStyle.Singleton);             //依赖注入程序集             IocManager.RegisterAssemblyByConvention(typeof(Module).GetAssembly());         }    }

既然要实现依赖注入,那肯定要初始化这个类触发注入了。我选择在EF层里加,这样可以不影响原有的EF层初始化

ABP引入SqlSugar框架创建使用的方法

 五 应用层使用

直接引用对应的 IBaseRepository仓储

    public class BasBloodBreedAppService : BloodTestLibSystemAppServiceBase,IApplicationService    {         private  IBaseRepository<BasBloodLevel> _baseRepository { get; set; }        public BasBloodBreedAppService(IBaseRepository<BasBloodLevel> baseRepository) {            _baseRepository = baseRepository;        }         public async Task<BasBloodLevel> GetBase() {           var ce=await _baseRepository.QueryByID(1);            return ce;        }      }

证明一下我是成功的

ABP引入SqlSugar框架创建使用的方法

关于“ABP引入SqlSugar框架创建使用的方法”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“ABP引入SqlSugar框架创建使用的方法”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: ABP引入SqlSugar框架创建使用的方法

本文链接: https://www.lsjlt.com/news/328478.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ABP引入SqlSugar框架创建使用的方法
    这篇文章主要介绍了ABP引入SqlSugar框架创建使用的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ABP引入SqlSugar框架创建使用的方法文章都会有所收获,下面我们一起来看看吧。一 新建类库为了代...
    99+
    2023-06-30
  • ABP引入SqlSugar框架的简单版创建使用
    目录一 新建类库声明实体二 基本仓储三 实现SqlSugar的DB四 实现依赖注入五 应用层使用上一篇引入了Dapper框架,估计大家都会用了。但是很多都被封装,想探究原理的小伙伴就...
    99+
    2024-04-02
  • ABP引入Dapper框架的创建使用
    目录一. 首先准备好一个数据库建一个表二.建一个实体表三.然后再ABP框架的EF层安装 Abp.Dapper包使用首先DbContext引入对应的DbSet最后在应用层直接...
    99+
    2024-04-02
  • ABP引入Dapper框架怎么创建使用
    本篇内容主要讲解“ABP引入Dapper框架怎么创建使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ABP引入Dapper框架怎么创建使用”吧!一. 首先准备好一个数据库建一个表二.建一个实体...
    99+
    2023-06-30
  • 正确使用CSS引入第三方框架的方法和技巧
    如何正确使用CSS引入第三方框架 在现代的web开发中,使用第三方框架是非常常见的。第三方框架提供了许多功能强大且易于使用的CSS样式和组件,能够节省开发时间和提高网站性能。本文将介绍如何正确地使用CSS引入第三方框架,并提供具...
    99+
    2024-01-16
    使用指南 CSS引入框架 第三方框架
  • WPF引用MVVM框架与使用方法
    1.NuGet引用MVVM框架包 引入该框架包之后, 默认会在目录下创建ViewModel层的示例代码 2.第二步, 通过在MainViewModel中创建一些业务代码, 将其与...
    99+
    2024-04-02
  • 使用Django框架创建项目
    目录一、Django 管理工具二、创建第一个项目三、视图和 URL 配置四、path() 函数五、使用PyCharm创建Django项目1、打开PyCharm,新建项目2、通过命令行...
    99+
    2024-04-02
  • 如何使用Java和Unix创建一个高效的框架索引?
    Java和Unix是当前最为流行的编程语言和操作系统之一,它们在开发中被广泛应用。在开发过程中,经常需要使用框架来加速开发速度和提高代码质量。而一个高效的框架索引则能够更好地帮助开发人员快速找到需要的框架,从而提高开发效率。本文将介绍如何使...
    99+
    2023-06-16
    unix 框架 索引
  • 使用go语言创建高效存储框架的容器化方法。
    使用Go语言创建高效存储框架的容器化方法 随着云计算和容器化技术的发展,存储框架也需要跟进并进行优化,以适应不断增长的数据量和更高的性能要求。在这个过程中,使用Go语言创建高效存储框架的容器化方法成为了一种流行的选择。 本文将介绍如何使用G...
    99+
    2023-10-07
    存储 框架 容器
  • Android依赖注入框架Dagger2的使用方法
    目录Dagger2注入框架原理简要分析示例代码生成代码分析DaggerActivityComponent类MainActivity_MembersInjector何处真正产生了实际参...
    99+
    2023-05-19
    Android Dagger2 Android依赖注入
  • WPF引用MVVM框架与使用方法是什么
    今天就跟大家聊聊有关WPF引用MVVM框架与使用方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.NuGet引用MVVM框架包引入该框架包之后, 默认会在目录下创建View...
    99+
    2023-06-29
  • swoole框架的使用方法
    这篇文章将为大家详细讲解有关swoole框架的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。swoole有两个部分。 一个是PHP扩展,用C开发的,这是核心。 另一个是框架,像yii、TP、Lar...
    99+
    2023-06-14
  • python的Django框架创建项目的方法是什么
    这篇文章主要讲解了“python的Django框架创建项目的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python的Django框架创建项目的方法是什么”吧!具体如下:  Dj...
    99+
    2023-06-02
  • phpYii2框架创建定时任务方法详解
    目录简单的定时任务脚步文件传递参数设置参数别名在Linux配置crontab在我们项目开发中,需要使用定时任务来完成批处理业务,下面通过Yii2框架来实现定时任务 Yii2框架定时任...
    99+
    2024-04-02
  • WP7 入门:创建你的第一个 XNA 框架应用
    要创建你的第一个XNA框架应用,你需要按照以下步骤进行操作:1. 安装必要的软件:- 安装Visual Studio 2010或更高...
    99+
    2023-09-08
    WP7
  • mysql索引创建和使用的方法是什么
    MySQL索引的创建和使用方法如下: 创建索引:可以在创建表时指定索引,也可以在表已经创建后创建索引。创建索引的语法如下: 在创...
    99+
    2024-04-09
    mysql
  • 如何使用TestNG框架创建Selenium脚本
    这篇文章主要介绍“如何使用TestNG框架创建Selenium脚本”,在日常操作中,相信很多人在如何使用TestNG框架创建Selenium脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用TestN...
    99+
    2023-06-04
  • vue使用脚手架vue-cli创建并引入自定义组件
    一、创建并引入一个组件 1、创建组件 vue-cli中的所有组件都是存放在components文件夹下面的,所以在components文件夹下面创建一个名为First.vue的自定义...
    99+
    2024-04-02
  • 给Myql创建索引的方法
    这篇文章主要介绍给Myql创建索引的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!为了提升Mysql的性能我们可以创建索引,来提升Mysql的搜索速度,还可以缓解对Mysql数据...
    99+
    2024-04-02
  • vue2-webpack2框架搭建的方法
    这篇文章主要介绍了vue2-webpack2框架搭建的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。react、vue、angular代...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作