abp专题

Abp vnext踩坑----还原数据库

将学习过程中踩到的坑记录下,便于以后遇到同样的问题查询和快速解决 1、还原数据库报错,如下图: 生成迁移文件之后,更新生成数据库,报错。找了好久没找到原因。后来通过另一种方式解决了生成数据库的问题,如下: 将Dbmigrator设置为启动项目,并设置好连接参数,运行后可正常生成数据库,但是数据库的版本需为Sql Server 2012,否则部分语法不支持,如下图: 解决方法要么

ABP框架中的仓储的方法

在ABP框架中,仓储(Repository)是用于管理实体数据存储和访问的核心组件。ABP框架提供了一个通用的仓储接口 IRepository,该接口定义了用于处理实体的常用方法。下面是 IRepository 接口中的所有方法,这些方法可以用于执行各种CRUD(创建、读取、更新、删除)操作。 IRepository<T, TKey> 方法列表 以下是 IRepository<T, TKey>

ABP框架+Mysql(三)

创建,更新和删除图书 创建新书籍 创建 modal form 在 Acme.BookStore.Web 项目的 Pages/Books 目录下新建一个 CreateModal.cshtml Razor页面: CreateModal.cshtml.cs 打开 CreateModal.cshtml.cs 代码文件(CreateModalModel 类),替换成以下代码: using S

ABP框架中 Add-Migration Added_Authors 和 Update-Database 命令

在ABP框架中和数据层打交道常用到 两个命令 Add-Migration Added_Authors -c BookStoreDbContext  Update-Database -Context BookStoreDbContext 命令 Add-Migration Added_Authors -c BookStoreDbContext  这个命令用于创建一个新的迁移文件,该文件包含

Abp中ef操作新增重复子级数据问题

在偶然开发中,导入的多条数据中,可能都存在同一个字段生成主外键关联子级数据的逻辑,此时循环去生成子级数据,会导致重复添加子级数据,有点绕吧,那就那实例说吧 如下:实现导入两条论文数据,论文中有起草人和所在单位,而起草人和所在单位是多对多关系, 这里讲下额外题,多表之间的关系: 一对一:外键+主键,主键和主键匹配(一对一关系的表会直接安排成一张表)一对多,多对一:主键+外键多对多:通过中间表连

Net8 ABP VNext完美集成FreeSql、SqlSugar,实现聚合根增删改查,完全去掉EFCore

没有基础的,请参考上一篇 彩蛋到最后一张图里找 参考链接 结果直接上图,没有任何业务代码 启动后,已经有了基本的CRUD功能,还扩展了批量删除,与动态查询 动态查询截图,支持分页,排序 实现原理: FreeSql导航参考官方地址 聚合根(实验室) | FreeSql 官方文档 继承IReadOnlyRepository接口,实现用FreeSql实现所有功能即可

Net8 ABP VNext集成FreeSql、SqlSugar

ABP可以快速搭建开发架构,但是内置的是EFCore,国内中小企业使用FreeSql与SqlSugar还是较多,为新手提供使用提供参考 ABP、FreeSql、SqlSugar参考地址: ABP Framework | Open source web application framework for ASP.NET Core 指南 | FreeSql 官方文档 SqlSugar .Net

ABP中的对话框使用

发现了一个很好玩的.NET框架,ABP,国内也有一些比较活跃的论坛和社区了。   今天在使用ABP做一个简单的Demo时,碰到了弹出框,确认框的使用问题,也曾纠结了好久,最后发现ABP框架本身已经提供了,而且还很好用。   使用之前,是需要添加对abp.sweet-alert.js的引用,否则就无法正常使用。    确认框 abp.message.info('some info

ABP vNext 扩展 CurrentUser,自定义Claim声明

ABP内置Users表,我们可以对其字段进行扩展,辅助进行更详细的数据记录 ICurrentUser 是主要的服务,用于获取有关当前活动的用户信息. 以下是 ICurrentUser 接口的基本属性:1. IsAuthenticated 如果当前用户已登录(已认证),则返回 true. 如果用户尚未登录,则 Id 和 UserName2. 将返回 null. Id (Guid?): 当前用

使用Volo.Abp读取Sqlite表中数据

书接上文:Abp 从空白的WebApplication中添加EntityFrameworkCore生成数据库 开发环境:.NET6、Volo.Abp 数据库:Sqlite 说明:纯属个人强行入门。我个人觉得按照官网的操作不舒服,所以自己研究着来,请读者根据自己的需要进行参考。我能保证的是按照文章操作能够得到和我一样的结果。 1、在应用层中添加项目DemoApplication 项目目录如下

ABP天坑--UOW自动保存修改

ABP项目也做了挺久了,实际上也没碰上太多的问题,但这两天被ABP的自动保存修改(Automatically Saving Changes)这个天坑给恶心坏了 因为项目设计上的问题,原先为了方便加上环境限制,没有文件服务器来进行文件持久化服务,这样多个系统之间如何共享文件就成了个问题,所以当初设计上采取了个偷懒的方式,直接将文件保存到MySql中,所有系统要用这些文件时,都去数据库中读取……

ABP 在中抛出“Cannot access a disposed object. A common cause of this error is disposing”异常分析

知识点: 在ABP框架中,AppService 等是自带UnitOfWork的。然后其他的例如  后台任务(BackgroundWork)、定时任务(AbpQuartz)等的Excute方法没有自带UnitOfWork特性。 UnitOfWork(工作单元): 工作单元在ABP承担着 数据库链接以及事务的责则,同一个工作单元中共享一个数据库连接以及事务。 问题解析: 异常中描述的就是数据

ABP入门系列(9)——权限管理

1.引言 完成了简单的增删改查和分页功能,是不是觉得少了点什么? 是的,少了权限管理。既然涉及到了权限,那我们就细化下任务清单的功能点: 登录的用户才能查看任务清单用户可以无限创建任务并分配给自己,但只能对自己创建的任务进行查找、修改管理员可以创建任务并分配给他人管理员具有删除任务的权限 从以上的信息中,我们可以提取出以下权限: 任务分配权限任务删除权限 那我们下面就来实现针对这两个权限

【转】ABP源码分析四十六:ABP ZERO中的Ldap模块

通过AD作为用户认证的数据源。整个管理用户认证逻辑就在LdapAuthenticationSource类中实现。   LdapSettingProvider:定义LDAP的setting和提供DefautValue。主要提供配置访问AD数据库的账号信息。     LdapSettings/ILdapSettings:通过settingManager获取LDAP settings

【转】ABP源码分析四十一:ZERO的Audit,Setting,Background Job

AuditLog: 继承自Entity<long>的实体类。封装AuditLog的信息。 AuditingStore: 实现了IAuditingStore接口,实现了将AuditLog的信息保存到数据库的功能。其通过IRepository<AuditLog, long>实例完成对数据库的操作。   BackgroundJobStore :  实现了IBackgroundJobStore接

将Abp默认事件总线改造为分布式事件总线

文章目录 原理创建分布式事件总线实现自动订阅和事件转发 使用启动Redis服务配置传递Abp默认事件传递自定义事件 项目地址 原理 本地事件总线是通过Ioc容器来实现的。 IEventBus接口定义了事件总线的基本功能,如注册事件、取消注册事件、触发事件等。 Abp.Events.Bus.EventBus是本地事件总线的实现类,其中私有成员ConcurrentDictiona

ABP框架—后台:引入Abp.Dapper(10)

一、NuGet获取Abp.Dapper 项目类库Application和项目类库EntityFrameworkCore添加Abp.Dapper引用,如图: 二、创建实体Entity 项目类库Core创建实体,如图:   using Abp.Domain.Entities;namespace PD.Menu{public class Sys_Menu : Entity  {p

ABP框架—后台:后台程序发布至IIS(6)

一、选择“Web.Host”, 点击右键,进行发布 二,配置发布选项,选择“文件系统”,选择发布目录         三、  配置完后点击发布,如下图:  输出工具输出发布信息 四、IIS中查看模块中包含AspNetCoreModuleV2 ABP 如果使用时Net Core 跨平台,它依赖AspNetCoreModuleV2模块  当

ABP框架—后台:日志log4net(9)

一、Nuget引入log4net依赖包 如图: 官方地址:http://logging.apache.org/log4net 二、Startup中配置log4net 在ConfigureServices方法中使用容器添加log4net以及配置log4net.config public class Startup{public IServiceProvider Configure

ABP框架—后台:应用服务ApplicationServices(9)

应用服务作用是将领域(业务)逻辑暴露给外部(vue前台等)。外部(vue前台等)通过传入DTO(数据传输对象)参数来调用应用服务,而应用服务通过领域对象来执行相应的业务逻辑并且将DTO返回。因此,外部(vue前台等)和领域层将被完全隔离开来。在一个理想的层级项目中,外部(vue前台等)应该从不直接访问领域对象。 此部分内容未使用DTO,后续文章会继续讲解 此应用服务层在ABP框架

ABP框架—后台:仓储Repository(8)

在DDD领域驱动设计中,仓储实现了对数据进行增删改查操作的代码。 (1)ABP里面已经为我们定义了默认仓储,里面已经包含基本的仓储方法(增删改查)。我们可以直接调用。 (2)当ABP的默认仓储不能满足业务时,我们可以在默认仓储上进行扩展。继承默认仓储接口IRepository,和继承默认仓储实现类PDRepositoryBase来进行扩展。 (3)如果在默认仓储上进行扩展,我要把仓储接口和

从社区学习随社区成长-ABP Framework 研习社 2021-2023年总结

abp_club_cover 时间回到 2021 年,ABP Framework 研习社 QQ群正式创建,那时正在翻译土牛写的第一本书《实现领域驱动设计》,希望围绕 ABP Framework 框架讨论 DDD 的落地实践,聚集网上志同道合者一起分享应用 ABP Framework 搞领域驱动的经验。 时至今日,ABP Framework 研习社 两年时间已突破千人,期间两次提升群人数上限。

ABP vNEXT-1安装ABP 官方提供的CLI工具

1)、使用命令行窗口安装ABP 官方提供的CLI工具,安装命令如下: dotnet tool install -g Volo.Abp.Cli ,如下图所示:    2)、如果在创建过程中因为网络原因会连接失败的话,可以使用ABP中文网上有与之对应的国内CLI工具,安装命令如下: dotnet tool install -g Cn.Abp.Cli 安装成功如下图所示:

ABP的一些特性 (Attribute)

大家应该很熟悉Attribute这个东西吧,ABP里面扩展了一些特性,做过滤权限,返回内容等进行控制,在这里小记下,方便后续查看。  [DontWrapResult]  //ABP默认对返回结果做了封装,使用这个特性就不会受特性的干扰了。  [DisableAuditing]  //添加这样的特性,访问时就会忽略权限验证。  [Produces("application/x-javascrip

ABP框架应用汇总

相信很多人可能听过或没听过ABP这个框架,在我接触此框架时也是在现在所在的公司开始接触的,我们用此开源框架作为我们项目的架构,我们正好做的是Saas云服务多租户管理系统开发,并且经过了一年多高速迭代,已经将项目上线并供用户使用。  下面就针对ABP框架的每个具体的知识点从大概描述到具体使用阐述下,希望对各位有帮助。     官网连接: https://aspnetboilerplate

Abp vNext在Docker部署并导出镜像

Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 创建Dockerfile文件 1、WORKDIR:加载文件地址2、EXPOSE:开放端口,程序可以访问端口(根据程序默认开放端口配置,例:80