1 下载一个新的ABP模板项目 http://www.aspnetboilerplate.com/ 2 在Windows上安装MySql, 创建一个新的数据库 sampledb https://dev.mysql.com.../doc/refman/8.0/en/mysql-installer-gui.html - MySql的安装文档 https://downloads.mysql.com/archives/installer.../ - mysql-installer-gui的下载地址 3 打开模板项目,在EntityFramework和Web项目中安装 MySql.Data.Entity Install-Package MySql.Data.Entity..., 因为模板项目使用的.net framework版本是4.5.2, 对应的MySql.Data.Entity的版本要使用6.8.3 , 如果使用最新的版本,后面会报错 4 修改Web.config文件...Console中执行命令 Update-Database –Verbos 6 现在就可以运行ABP的模板项目了
关于这个框架的介绍我就不多说,有兴趣的可以参见官方文档:http://www.aspnetboilerplate.com/Pages/Documents 使用ABP+EF+SQL Server是比较推荐的组合...,但是既然我们使用的是EF,那么就应该是和数据库分离的,也就意味着我们应该可以采用其他的数据库,比如MySQL。...ABP初始化的项目模板还提供了Module Zero项目,为我们提供了用户、角色、权限等等通用功能,但是在使用初始化的模板连接MySQL却会报错,无法运行,下面我来解决ABP+MySQL的问题。...这是操作步骤: 1.从官方网站下载ABP项目模板,并解压到本地,用VS打开,这里我们新建一个项目ConnectMySql。...", new MySql.Data.Entity.MySqlMigrationSqlGenerator()); } 11.现在我们来试一试是否可以针对MySQL使用EF的Code
Winform 如何使用Abp 安装 Volo.Abp.Core Install-Package Volo.Abp.Core -Version 4.4.4 创建模块和应用 // 创建模块(具体用途暂时不管...) // 一个继承自 AbpModule 的类 public class AppModule : AbpModule { } // 使用 AbpApplicationFactory 创建一个应用 var...app = AbpApplicationFactory.Create(); // 初始化应用 app.Initialize(); 使用应用中的 ServiceProvider...获取服务从而实现依赖注入 初始化app之后,就可以使用app的依赖注入功能了,下面是默认的 Program.cs internal static class Program { /// [STAThread] static void Main() { // 使用 AbpApplicationFactory 创建一个应用 var app =
一、迁移说明 ABP模板项目Entity Framework Core默认使用的是Sql Server,也很容易将数据库迁移到MySQL,步骤如下。...程序包 添加程序包Pomelo.EntityFrameworkCore.MySql、Pomelo.EntityFrameworkCore.MySql.Design 4、 修改源代码 修改DbContextConfigurer...这里会有一些迁移文件会包含在你的项目中,但是这些文件是为Sql Server迁移使用的。请打开 .EntityFramework 项目中的Migrations文件夹,然后删除这些迁移文件。...然后在控制台中执行下面命令: Add-Migration "AbpZero_Initial" 现在你可以使用下面命令来创建数据库: Update-Database 所有的事情都已完成,检查 MySQL数据库已生产成功...7、 完成MySQL迁移后运行浏览成功 原文地址:https://www.cnblogs.com/donaldtdz/p/8149598.html
从源码来看,Abp vNext已经支持了多种数据库,Sql Server,MySql,PostgreSql等。...默认情况下,你创建的项目使用的是Sql Server版本,如果需要切换到MySql的话,仅需要: 第一步,在你的EntityFrameworkCore(Abp的EF框架模块,用来创建DbContext,...数据迁移用的)中,从NuGet中安装Volo.Abp.EntifyFrameworkCore.MySql 第二步,打开TGDbContextFactory.cs 第三部,修改代码: public TGDbContext...自给自足丰衣足食,自己来吧,其实非常简单 先去掉刚引入的Volo.Abp.EntityFrameworkCore.MySql,然后引入Pomelo.EntityFrameworkCore.MySql,随后上述代码改为...之前用Abp Core做了小程序并放到了生产环境,启动慢了点,但是运行什么都比较稳定,开发也比较便捷,看了Abp vNext后,感觉一种小清新,相信在不久之后,我会使用它放到生产环境。
ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此。...#一、Abp集成的邮件模块是如何实现的 分析可以看出主要由以下几个核心类组成: EmailSettingNames:静态常量类,主要定义了发送邮件需要的相关参数:Port、Host、UserName、Password...想具体了解源码的实现方式,建议参考以下两篇博文: 结合ABP源码实现邮件发送功能 ABP源码分析七:Setting 以及 Mail # 二、如何使用Abp集成的邮件系统发送邮件 1....emailSender.Send("ysjshengjie@qq.com", task.AssignedPerson.EmailAddress, "New Todo item", message); # 三、如何使用...Abp集成的通知模块发送通知 直接上代码示例: 首先,在Service中通过构造函数注入INotificationPublisher /// ///In constructor
如果只是简单的去介绍如何去使用ABP,我只需参照官方文档,实现到任务清单Demo中去就可以了,不劳神不费力。但是,这样就等于一知半解。 知之为知之,不知为不知,是知也。...后续的文章我会继续保持之前的书写风格,并适当穿插一些对DDD中的概念的理解,来加深对ABP框架的学习。...使用领域服务 经过上面的分析,很显然我们的用例,使用领域服务来实现更合适。...ABP中定义了IDomainService接口,按约定所有的领域服务都要实现它,实现之后,领域服务被自动暂时的注册到依赖注入系统。...同样,领域服务也可以从DomainService类继承,因此它可以使用继承得来的日志、本地化、等属性。
52ABP和ABP的关系 本文作者:52ABP开发团队 文章会随着版本进行更新,关注我们获取最新版本 本文出处:https://www.52abp.com/wiki/common/latest...源代码: https://www.github.com/52abp 52ABP和ABP的关系 ASP.NET Boilerplate是一个开源Web应用程序框架,提供了免费的启动模板。...52ABP是一款基于ABP之上开发出来的适用于国内的市场和环境的项目模板。 它不扎根于基础设施,他更多做的事情是让大家在开发功能的时候更加的方便。...所以他不会和 ABP 框架冲突,建议大家可以直接使用 52ABP 框架进行开发,因为 52ABP 有一整套的开发设施,项目模板生成器,代码生成器、文档、视频等内容。 可以节约大家的时间和精力。 ?...p=3 ABP(ASP.NET Boilerplate)免费模板和52ABP-Pro的对比表 在这里,您可以看到ASP.NET Boilerplate的免费模板和52ABP-PRO之间的差异。
源码路径:Github-LearningMpaAbp 1.引言 最近刚学习了下DDD中领域事件的理论知识,总的来说领域事件主要有两个作用,一是解耦,二是使用领域事件进行事务的拆分,通过引入事件存储,来实现数据的最终一致性...Abp中使用事件总线来实现领域事件,而关于事件总线的实现,大家可参考我这篇博文——事件总线知多少,本文将不再赘述。 2.用例分析 当用户被成功分配任务后,发送邮件和消息通知给用户。...3.使用领域事件 就这个用例而言,“用户被成功分配任务”就是一个领域事件。下面我们就来实际应用一下。 3.1....应用程序启动时Abp根据约定俗成的命名规则将事件源和事件处理注册到了依赖容器中和事件总线维护的容器中。我们也可以自行在应用服务或领域服务中手动注册。 领域事件在哪触发(发布)?...4.最后 由于demo比较简单,找不到合适的用例,以上使用的用例比较简单。
引言 Abp支持MySql已经不是什么新鲜事了,但按照官方文档:Entity Framework - MySql Integration来,你未必能成功切换,本文就记录下切换MySql数据库遇到的一些坑...MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。 MariaDB完全兼容MySql,所以就放一百二十个心好了。...然后Tools-->Nuget Package Manage--> Package Manage Console:输入Add-Migration "Abp_MoveTo_Mysql"执行: ?...这是因为mysql对列的大小有限制。EF6使用MigrationHistory表跟踪模式的变化,以确保一致性的数据库模式和概念模式。由于主键太大,默认情况下此表不适合MySQL。...最后 好久没更新了,现在重拾Abp,后续会结合ABP+.Net Core+MySQL,带给大家进阶分享,尽情期待!
技术交流,请加QQ群:538327407 我的各种github 开源项目和代码:https://github.com/linbin524 背景 笔者 目前架构的IOT 项目是使用abp 框架作为后台,虽然...abp的框架适用于中小型项目框架,但由于架构优美,笔者认为还是可以经过改造,作为大型项目中使用。...ps:abp 虽然有mongodb 的封装,但它的出发点是和EF 同一个模式,左右系统唯一的ORM,如果要使用abp 的mongo 封装,必须要替代EF,或者重写ABP UnitOfWorkOptions...3、数据库底层 使用Percona XtraDB Cluster,是因为它支持集群,可以缓解数据库请求压力,又支持abp的事务; 但从真正大系统考虑,其实最理性的模式应该是分片...bootstrap.service 其他节点也再次启动 systemctl start mysql 4、abp 进行数据库迁移 (1)abp 想要进行mysql 支持,网上的教程有,我就不重复造轮子自己参考
开始 因为用户实体是ABP模板自动生成的,其中的属性都预先定义好了,但是ABP是允许我们扩展模块实体的,我们可以通过扩展用户实体来增加用户头像和用户介绍字段。...扩展实体 ABP支持多种扩展实体的方式: 将所有扩展属性以json格式存储在同一个数据库字段中 将每个扩展属性存储在独立的数据库字段中 创建一个新的实体类映射到原有实体的同一个数据库表中 创建一个新的实体类映射到独立的数据库表中...路由整理 删除掉vue-element-admin多余的路由,并添加ABP模板自带的身份认证管理和租户管理。...对应ABP模板界面: ? 最后 本篇介绍了ABP扩展实体的基本使用,并且整理了前端部分的系统菜单,但是菜单的文字显示不对。下一篇将介绍ABP本地化,让系统文字支持多国语言。...参考资料 [1] 扩展实体: https://docs.abp.io/zh-Hans/abp/latest/Customizing-Application-Modules-Extending-Entities
前言 上一篇介绍了ABP模块化开发的基本步骤,完成了一个简单的文件上传功能。...配置信息可以通过Configuration(配置)和Options(选项)来完成,ABP还提供了另一种更灵活的方式: Settings(设置),本篇就来介绍一下ABP的设置管理。...定义设置 使用设置之前需要先定义它,不同的模块可以拥有不同的设置。...因为本项目使用了EasyAbp的SettingUi模块,所以会有一些Group1,Group2之类的字段,具体介绍可以参考Abp.SettingUi 使用设置 想读取设置信息,只需注入ISettingProvider...因为父类ApplicationService中已经注入,所以这里直接使用SettingProvider就好。
AbpHelper 模块安装 前言 上一篇介绍了ABP的一些基础知识,本篇继续介绍ABP的启动模板。...使用ABP CLI命令就可以得到这个启动模板,其中包含了一些基础功能模块,你可以基于这个模板来快速开发。 开始 首先ABP CLI的安装以及基本指令这些就不说了,官网上写的很清楚。...AbpHelper 使用AbpHelper来完成官网的例子非常容易,首先创建项目解决方案: ? ? AbpHelper提供了图形化配置,自动帮我们执行ABP CLI指令: ?...代码生成完后,运行Acme.BookStore.Web项目: 使用默认用户 admin/1q2w3E* 登录系统,给admin角色分配BookStore相关权限: ?...有一些由ABP社区开发和维护的开源免费的应用程序模块,我们可以直接使用;比如我要使用官方的Blogging模块,Blogging是用于创建精美的博客。 同样使用AbpHelper来安装: ?
AbpHelper 模块安装 前言 上一篇介绍了ABP的一些基础知识,本篇继续介绍ABP的启动模板。...使用ABP CLI命令就可以得到这个启动模板,其中包含了一些基础功能模块,你可以基于这个模板来快速开发。 开始 首先ABP CLI的安装以及基本指令这些就不说了,官网上写的很清楚。...目前ABP的前端部分只支持ASP.NET Core MVC / Razor Pages和Angular,移动端支持React Native。...初学者建议跟着官网https://docs.abp.io/zh-Hans/abp/latest/Tutorials/Part-1?...UI=MVC这个指引做一遍,体验一下ABP开发的基本流程,虽然ABP开发流程几乎都标准化了,照着官网的流程编写代码就能完成一个功能的开发,但是这个过程有些繁琐,容易出错。
关于 asp.net zero core 项目的启动及说明,请观看我前面的博文 http://www.cnblogs.com/stulzq/p/7237153.html 本操作对于ABP默认项目应该也是适用的...二.添加MySql程序包 对项目 “MyCompanyName.AbpZeroTemplate.EntityFrameworkCore” 添加程序包“Pomelo.EntityFrameworkCore.MySql.Design...4.执行迁移操作 请确认MySql数据库开启,打开程序包管理器控制台,选中项目“MyCompanyName.AbpZeroTemplate.EntityFrameworkCore”,输入命令 Add-Migration...六.使用项目自带的工具迁移 前面的博文说过,项目“MyCompanyName.AbpZeroTemplate.Migrator”是自带的迁移工具,下面咱门来测试一下 ?
定义特征 应用特征 用户数量 社交登录 前言 上一篇提到了ABP功能管理(特征管理),它来自ABP的FeatureManagement模块,ABP官方文档貌似还没有这个模块的相关说明,但是个人感觉这个模块非常实用...对应的ABP源码在:abp\modules\identity\src\Volo.Abp.Identity.Application\Volo\Abp\Identity\IdentityUserAppService.cs...在我们的Application项目中添加一个服务类继承IdentityUserAppService,重写CreateAsync方法,使用FeatureChecker获取到特征值,然后做个用户数量校验即可...社交登录 特征值也可以在前端使用,在/abp/application-configuration中就可以获取到。 ? 拿到特征值,前端也可以做一些差异化功能,比如这里的是否支持社交登录。 ? ?...[2] jonny-xhl: https://github.com/jonny-xhl [3] Abp.SettingUi: https://github.com/EasyAbp/Abp.SettingUi
,尽管有诸多细节大家意见不尽相同,但对于整体框架却是少有的一致好评,在后来的项目交付中使用ABP也就是顺利成章的事了。...就这个简单的示例,我们一起来看看使用ABP有哪些好处。 依赖注入 - ABP提供了一个惯用的DI基础框架,所谓惯用,就是大家平常使用的DI方式一致,保持大家的使用习惯。...ABP默认使用Log4Net来写日志,当然我们也可以通过修改配置来使用其他的日志框架。 本地化(多语言)- 在示例中,当抛出异常时,使用了"L"方法,它会根据用户文化配置自动进行本地化处理。...自动映射- 在示例的最后一行,我们使用了ABP的MapTo扩展方法来讲输入对象的属性映射到实体对象的属性。...在示例中,我们可以看到使用ABP的优势,通常如果我们来做这些事情,会花费大量的时间,但是ABP框架都自动的为我们处理了。这里必须点个赞了。
升级Abp 本系列教程是基于Abp V1.0版本,现在Abp版本已经升级至V1.4.2(截至至文章发布时间),其中新增了New Feature,并对Abp做了相应的Enhancements,以及Bug...下面就请按我的步骤来将Abp由V1.0升级至V1.4.2。 1.1. 过滤Abp Nuget包 VS打开解决方案文件,右键解决方案(不是某个项目),选中【管理解决方案的Nuget程序包(N)...】...所以这一次,我们保险起见,只升级Abp相关Nuget程序包。 选中【更新】,在搜索框中录入Abp进行筛选Abp相关Nuget程序包(一共16个)。 1.2....定位一看,原来是Abp修改了默认IAbpSession的实现类ClaimsAbpSession。...下载与本地模板项目版本一致的Abp源码 首先去看看Abp的Releases目录,找到对应版本的Source code.zip,下载即可。 2.2.
领取专属 10元无门槛券
手把手带您无忧上云