- 2024-11-20Abp.VNext-模块
模块的概念模块可以理解成系统中一个独立的功能。例如缓存Redis、队列RabbitMQ、IOC框架Autofac。模块的作用使用ABP模块可以解决模块之间的依赖问题,通过模块化设计,每个模块可以独立开发、测试和部署,从而减少代码的耦合度,提高了代码的可维护性和复用性,同时使得应用程序更加容易
- 2024-11-19Abp.VNext-工作单元Unitofwork
事务工作单元=数据库事务+工作单元事务。Controller[ApiController][Route("[controller]")]publicclassBlogController:AbpController{privateBlogAppService_blogAppService=>LazyServiceProvider.LazyGetRequiredService<BlogAppService>();public
- 2024-11-19Abp.VNext-异步执行帮助类AsyncHelper
作用以同步的方式运行异步方法。代码实现//无返回值的异步方法publicasyncTaskGetDataNoResult(){awaitTask.CompletedTask;}//有返回值的异步方法publicasyncTask<bool>GetDataWithResult(){returnawaitTask.FromResult(true);}[Htt
- 2024-11-19Abp.VNext-异步执行器AsyncExecuter
作用方便在应用服务层对IQueryable执行异步操作。代码实现varqueryable=await_ordedrRepository.WithDetailAsync(x=>x.OrderItems);queryable=queryable.WhereIf(inputDto.Guids.Any(),x=>inputDto.GuidIds.Contains(x.Id));varpageQueryable=queryable.OrderBy(
- 2024-11-19Abp.VNext-聚合根类
聚合根类(AggregateRoot)聚合一般包括多个实体或者值对象,聚合根可以理解为根实体或者叫主实体。BasicAggregateRootAggregateRoot类继承自Entity类,TKey可以是GUID、Int、String类型等。AggregateRoot有其他属性来支持乐观并发和对象扩展特性CreationAuditedAggregateRoot继承
- 2024-11-19Abp.VNext-数据审计
IHasConcurrencyStampIHasConcurrencyStamp添加了由ABP框架管理的ConcurrencyStamp属性实现乐观并发。实体类继承了IHasConcurrencyStamp以后,对该实体的更新就自动带乐观锁了。ISoftDelete实现逻辑删除功能,该接口中定义了IsDeleted变量,用于标记实体是否被逻辑删除。实体
- 2024-11-19Abp.VNext-SaveChanges事务提交
varblog=await_blogRepository.InsertAsync(ObjectMapper.Map<AddBlogInputDto,Blog>(inputDto));//查询不到数据,返回nullvarnewblog=await_blogRepository.FindAsync(blog.Id);//加上此行代码后,若插入异常,执行此行代码后回滚并且不会再往下走//不加此代码,若插
- 2024-11-19Abp.VNext-拆分查询
Abp默认采用的是拆分查询,优点是提高性能,缺点是使用Linq进行多表关联操作时打印查询字符串得到的SQL语句是单表查询语句。而实际上代码执行的是多表关联查询,容易误导开发人员。例如下列LINQ查询是多表关联,但是得到的查询字符串是单表操作。varquery=(await_blogRepository.G
- 2024-11-19Abp.VNext-显示加载实体导航属性
方式一:为实体配置默认导航并设置includeDetails属性为true[DependsOn(typeof(AbpEntityFrameworkCoreMySQLModule))]publicclassEntityFrameworkCoreModule:AbpModule{publicoverridevoidConfigureServices(ServiceConfigurationContextcontext){Co
- 2024-11-19Abp.VNext-数据过滤
如何实现软删除数据查询过滤实体类继承ISoftDelete接口后,查询获取到的返回结果将不包含已删除的数据。如何关闭软删除数据过滤全局方式关闭软删除数据过滤EntityFrameworkCoreModule模块类中使用。[DependsOn(typeof(AbpEntityFrameworkCoreMySQLModule))]publicclassEnti
- 2024-11-19Abp.VNext-统一配置UTC时区时间
PreConfigureServices方法重载并添加如下代码[DependsOn(typeof(AbpAutofacModule),typeof(AbpAspNetCoreMvcModule),)]publicclassApiHostModule:AbpModule{publicoverridevoidPreConfigureServices(ServiceConfigurationContextcontext)
- 2024-10-25Abp-VNext用户权限管理系列文章---工作流
一、工作流的使用1、工作流定义图,我们定义了一个订单的工作审批流2、创建的可以审批的用户,密码都为Bridge0发起流程:用户wf_order_creator 订单创建员采购科员审核:角色:采购科员 用户:wf_order_officer +订单审核科员采购科长审核: wf_order_deptHead 订单审核
- 2024-10-15ABP VNext 系列:框架启动流程以及依赖注入原理和源码分析
简单介绍ABPVNextGithub地址:https://github.com/abpframework/abp官网文档地址:https://abp.io/docs/latest官网:https://abp.io/ABPVNext框架是一个基于ASP.NETCore的完整基础架构,也就是我们现在称的ABP框架,它遵循软件开发最佳实践和最新技术来创建现代Web应用程
- 2024-08-24abp vnext请求头增加,以及请求头增加公共头部回调
context.Services.AddHttpContextAccessor();要访问请求头的话,要加上这个语句;追加请求头的方法:1、服务层服务的HttpApi.Client项目Module类的ConfigureServices方法开头位置添加如下代码:context.Services.AddTransient<AddHeaderHandler>();context.Services.AddHttpClient(Prod
- 2024-08-18Abp vNext+SignalR
我的项目基于ABPvNext(版本8.2.0)+Blazor+SQLServer。从官网下载的模板默认不包含SignalR,因此这里记录了如何在ABPvNext中集成SignalR实现实时通信的过程。以下是一个详细的集成步骤指南:1.安装所需的NuGet包官方文档:https://abp.io/docs/latest/framework/rea
- 2024-08-18Abp vNext+SqlServer+MySqlServer
目前项目使用的是ABPvNext版本8.2.0加上SQLServer。由于业务需求,我们需要与MySQL数据库进行对接,这意味着项目的主要功能将继续使用SQLServer,而部分特定功能将需要与MySQL数据库交互。步骤1.在项目“XXX.XXX.EntityFrameworkCore”中安装MySql包dotnetaddpackag
- 2024-07-22ABP vNext—审计日志使用
ABPvNext—审计日志关于审计日志开启审计日志如何自定义审计日志关于审计日志审计跟踪(也称为审核日志)是一个安全相关的时间顺序记录,记录这些记录的目的是为已经影响在任何时候的详细操作,提供程序运行的证明文件记录、源或事件。ABP提供了能够为应用程序交互自动记
- 2024-07-14【DDD实战】ABP vNext框架
ABPvNext配置1.模块化配置(AbpModule)可支持API、UI扩展可随意整合和拆分定制化需求——options模块整合下面是三种配置依赖模块的方式,分别是引用式、插件式、nuget1.引用式模块需引用dll配置步骤:模块依赖——DependsOn(typeof(___Module))需避免循环依赖配
- 2024-06-13国思RDIF.vNext全新低代码快速开发框架平台6.1版本发布(支持vue2、vue3)
1、平台介绍RDIF.vNext,全新低代码快速开发集成框架平台,给用户和开发者最佳的.Net框架平台方案,为企业快速构建跨平台、企业级的应用提供强大支持。RDIF.vNext的前身是RDIFramework框架,RDIF(RapiddevelopIntegrateFramework,vNext代表全新下一代),全新设计,全新开发,代码量减
- 2024-05-11ABP-VNext 用户权限管理系统实战06---实体的创建标准及迁移
在apb-vnext的实体的创建中可以确实字段的长度、说明、对应的表、表中给字段加的索引以项目中的订单表为例,如下:[Comment("订单主表")][Table("t_voucher_order")] [Index(nameof(VoucherCode))]publicclassOrder:AuditedAggregateRoot<Guid>,ISoftDelete,IMultiTen
- 2024-04-18如何实现数据库数据到Abp vnext实体对象的同步?以及代码生成工具
在采用了EFCore的CodeFirst方式下,如果你在数据库中直接添加了新表或存储过程,你需要在项目代码中手动反向工程这些数据库的更改,以保持CodeFirst的代码与数据库同步。这种情况可以通过如下两个步骤来实现:从现有数据库创建模型:使用EntityFrameworkCore的Scaffold-DbContext
- 2024-04-15ABP -Vnext框架一步一步入门落地教程——使用ABP -Vnext创建一个WEBAPI接口(二)
人生需要指引,而复制是成功最快的方式,兄弟们让我们发车吧————代码大牛ljy开发主题:何谓开发应用服务端在官方开发教程这一段的内容叫做开发应用服务端,作为现在前后端分离的开发模式来说,一个应用就分为前端页面框架和后端API,页面框架调用WEBAPI实现业务就完事了。所以咱们今天
- 2024-04-14ABP -Vnext框架一步一步入门落地教程——ABP Vnext框架代码安装和启动(一)
兄弟们,人生需要指引,而复制最快的方式,让我们行动吧——codesoft教程介绍ABP-Vnext框架我们之前摸了无数次,好象初恋的女孩,一直在靠近,一直在努力,一直不敢盯着她的眼睛说:美女,我很喜欢你,能不能一起吃个饭!我们都喜欢自己变得足够的优秀之后,才敢说这句话。结果三年就过去了。我想搞技
- 2024-04-10ABP-VNext 用户权限管理系统实战04---多数据库支持、批量插入
系统用的.net core,数据库映射工具为efcore,可以支持多数据库。一、支持多数据库1、扩展AbpDbContextOptions类 需要引入的类 2、服务中注入 二、批量插入实现EFCORE批量插入接口IEfCoreBulkOperationProvider,使用杨中科的包:https://github.com/yangzhongke/Zack.EF
- 2024-02-04ABP-VNext 用户权限管理系统实战03---动态api调用并传递token
一、使用动态api的目的ABP可以自动创建C#API客户端代理来调用远程HTTP服务(RESTAPIS).通过这种方式,你不需要通过 HttpClient 或者其他低级的HTTP功能调用远程服务并获取数据.现在有两个服务:BackgroundJob服务要调用IdentityManagement服务,并在调用时传递token二、集成步骤1、