abp集成abp.Dapper
首先看下官网的介绍:
https://aspnetboilerplate.com/Pages/Documents/Dapper-Integration
中文翻译:
介绍
Dapper是.NET的对象关系映射器(ORM)。该Abp.Dapper包装简单集成到精致小巧ASP.NET样板。它与EF 6.x,EF Core或NHibernate一起作为辅助ORM提供程序。
安装
在开始之前,您需要将 Abp.Dapper和EF Core,EF 6.x或NHibernate ORM NuGet包安装到您要使用的项目中。
模块注册
首先,您需要在模块上为AbpDapperModule添加DependsOn属性:
[DependsOn(typeof(AbpEntityFrameworkCoreModule),typeof(AbpDapperModule) )] public class MyModule : AbpModule {public override void Initialize(){IocManager.RegisterAssemblyByConvention(typeof(SampleApplicationModule).GetAssembly());} }
请注意,应该在EF Core依赖项之后添加AbpDapperModule依赖项。
表映射的实体
您可以配置映射。例如,Person类映射到以下示例中的 Persons表:
public class PersonMapper : ClassMapper<Person> {public PersonMapper(){Table("Persons");Map(x => x.Roles).Ignore();AutoMap();} }
您应该设置包含映射器类的程序集。例:
[DependsOn(typeof(AbpEntityFrameworkModule),typeof(AbpDapperModule) )] public class MyModule : AbpModule {public override void Initialize(){IocManager.RegisterAssemblyByConvention(typeof(SampleApplicationModule).GetAssembly());DapperExtensions.SetMappingAssemblies(new List<Assembly> { typeof(MyModule).GetAssembly() });} }
用法
注册AbpDapperModule后,您可以使用Generic IDapperRepository接口(而不是标准IRepository)来注入dapper存储库。
public class SomeApplicationService : ITransientDependency {private readonly IDapperRepository<Person> _personDapperRepository;private readonly IRepository<Person> _personRepository;public SomeApplicationService(IRepository<Person> personRepository,IDapperRepository<Person> personDapperRepository){_personRepository = personRepository;_personDapperRepository = personDapperRepository;}public void DoSomeStuff(){var people = _personDapperRepository.Query("select * from Persons");} }
您可以在同一个事务中同时使用EF和Dapper存储库!
官网上说的有点模糊,这里整理下
1、在application和efcore层添加nuget包Abp.Dapper
2、在EntityFrameworkCore层的EntityFrameworkCore->**EntityFrameworkModule类中添加以下代码,对应官网文档的【模块注册】
3、设置包含映射器类的程序集
DapperExtensions.DapperExtensions.SetMappingAssemblies(new List<Assembly> { typeof(WisdomCloudEntityFrameworkModule).GetAssembly() });
如果是mysql,必须添加下面这句
//使用mysql必须修改,默认是sqlserver DapperExtensions.DapperExtensions.SqlDialect = new MySqlDialect();
4、EntityFrameworkCore添加下面文件夹来添加映射关系,对应官网文档【表映射的实体】
5、在application层就可以通过IDapperRepository使用了
abp集成abp.Dapper相关推荐
- ABP入门系列(17)——使用ABP集成的邮件系统发送邮件
1.Abp集成的邮件模块是如何实现的 ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此. 分析可以看出主要由以下几个核心类组成: Em ...
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十四节--后台工作者HangFire与ABP框架Abp.Hangfire及扩展...
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 HangFire与Quartz.NET相比主要是HangFire的内置提供集成化的控制台,方便后台查看及监控,对于 ...
- abp Volo.Abp.AbpException: Could not find the bundle file ‘/libs/abp/core/abp.css‘ for the bundle ‘B
项目场景:学习 abp 的ERROR 提示:这里简述项目相关背景: Volo.Abp.AbpException: Could not find the bundle file '/libs/abp/c ...
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十七节--Quartz与ABP框架Abp.Quar...
ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate- ...
- abp+dapper+mysql_abp集成abp.Dapper
首先看下官网的介绍: https://aspnetboilerplate.com/Pages/Documents/Dapper-Integration 中文翻译: 介绍 Dapper是.NET的对象关 ...
- Abp集成Swagger的最佳实践
1.在项目中添加nuget包 Abp.Web.Api.SwaggerTool 2.在项目Abp模块的DependsOn添加AbpWebApiSwaggerToolModule Run It,启动项目, ...
- 企业级工作流解决方案(十五)--集成Abp和ng-alain--Abp其他改造
配置功能增强 Abp定义了各种配置接口,但是没有定义这些配置数据从哪里来,但是管理配置数据对于一个应用程序来说,是必不可少的一件事情. .net的配置数据管理,一般放在Web.config文件或者Ap ...
- 企业级工作流解决方案(十)--集成Abp和ng-alain--权限系统
权限系统 应用系统离不开权限控制,权限中心不一定能抽象出所有的业务场景,这里定义的权限系统不一定能够满足所有的场景,但应该可以满足多数的业务需求. Abp的zero项目也定义了权限相关的表,但里面很多 ...
- Abp集成Quartz.net记录
编写了一个任务分配系统,基本流程是任务发起者发起一个周期任务,指定好周期,接收人定期收到任务.刚开始使用的是Hangfire,很容易跑起来,还自带一个管理控制台.跑起来后发现Hangfire有一些不足 ...
最新文章
- 分享Silverlight/Windows8/WPF/WP7/HTML5一周学习导读(5月6日-5月12日)
- 学习笔记(1)centos7 下安装nginx
- oracle删除本地文件权限,使用 UNIX 权限保护文件
- 200行代码写一个简易的dva
- JAVA多线程和并发基础面试问答(转载)
- python 顺序表
- 自定义Excel导出简易组件
- 解决-硬盘安装器/GHOSTERR/WINPE/FreeLaunchBar问题
- curl怎么输出赋值_伺服电动缸怎么控制?
- 上twitter_如何在Twitter上找到重大新闻
- Vim编辑器的使用之替换
- Macbook双系统 10.11及Ubuntu
- 系统降级熔断限流和排队
- 网络安全有哪些岗位,如何成为一位优秀的网络安全工程师?
- ajax用户名注册自动刷新,ajax+jsp实现 无刷新页面下注册时检测用户名是否已存在...
- ABP VNext学习日记20
- Oracle日记账如何设置审核,手工日记账操作规范及常见问题分析
- 写作软件评测iA Writer、Ulysses、Effie、Typora、Writeathon、Bear
- php画布生成图片/证书/卡片等实例
- AE(ArcGIS Engine)的安装与配置(附加ArcGIS安装及所需安装包)