ABP【一】

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: ABP【一】

1.模板下载(选择MVC5.X)


https://aspnetboilerplate.com/Templates


2.还原库引用


3.迁移到MySQL


(参看:https://aspnetboilerplate.com/Pages/Documents/EF-MySql-Integration?searchKey=mysql


(3.1) .EntityFramework 和 .Web 项目都添加MySql.Data.Entity库引用


(3.2)修改\src\MyABP.EntityFramework\Migrations下Configuration.cs文件,在public Configuration()方法中添加

SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());

(3.3).Web项目的web.config文件中修改链接字符串

<add name="Default" connectionString="server=localhost;port=3306;database=sampledb;uid=root;password=***" providerName="MySql.Data.MySqlClient"/>

(3.4)删除 .EntityFramework项目中migration下的类似于"201506210746108_AbpZero_Initial"这样的有时间标识的文件。

(3.5)在程序包管理控制台中,切换到.EntityFramework项目,然后执行

Add-Migration "AbpZero_Initial"和 Update-Database

       数据迁移成功后即可启动项目

   


   注意:如果提示 Specified key was too long; max key length is 767 bytes错误,则在\src\MyTestABP.EntityFramework\EntityFramework目录下...DbContext文件中添加方法:

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>();
            base.OnModelCreating(modelBuilder);
        }

并且类之前添加定义:

[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
    public class MyABPDbContext : AbpZeroDbContext<Tenant, Role, User>
    {
          //........

4.对WebApi项目添加Swagger引用

(4.1)在webapi项目引用库Swashbuckle.Core

(4.2)在.....WebApiModule文件中添加方法并调用ConfigureSwaggerUi();

        private void ConfigureSwaggerUi()
        {
            Configuration.Modules.AbpWebApi().HttpConfiguration
             .EnableSwagger(c =>
             {
                 c.SingleApiVersion("v1", "SwaggerIntegrationDemo.WebApi");
                 c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
             })
             .EnableSwaggerUi();
        }

///**********在swagger中增加token支持:

            //****
            Configuration.Modules.AbpWeb().AntiForgery.IsEnabled = false;
            ConfigureSwaggerUi();
        }
private void ConfigureSwaggerUi()
        {
            Configuration.Modules.AbpWebApi().HttpConfiguration
            .EnableSwagger(c =>
            {
                c.SingleApiVersion("v1", "SwaggerIntegrationDemo.WebApi");
                c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
            })
            .EnableSwaggerUi(c =>
            {
                c.InjectJavaScript(Assembly.GetAssembly(typeof(IndustryCloudWebApiModule)), "AbpCompanyName.AbpProjectName.Api.Scripts.Swagger-Custom.js");
            });
        }

新增js文件


.WebApi\Api\Scripts\Swagger-Custom.js


文件内容参考:


https://aspnetboilerplate.com/Pages/Documents/Swagger-UI-Integration?searchKey=swagger%20%20Authentication


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
存储 开发框架 前端开发
基于SqlSugar的开发框架循序渐进介绍(13)-- 基于ElementPlus的上传组件进行封装,便于项目使用
基于SqlSugar的开发框架循序渐进介绍(13)-- 基于ElementPlus的上传组件进行封装,便于项目使用
|
1月前
|
存储 缓存 JSON
Abp源码分析之Abp本地化
【11月更文挑战第5天】Abp 框架的本地化功能允许应用程序根据用户的语言和地区设置展示不同语言的文本,提升用户体验。其核心组件包括资源文件、本地化管理器和语言提供程序。资源文件存储本地化文本,本地化管理器负责加载和缓存文本,语言提供程序确定用户语言。通过依赖注入和视图层的支持,本地化功能可以无缝集成到应用中。
|
1月前
|
API 数据库
Abp源码分析之Abp最小系统
本文详细介绍了如何构建一个基于ABP框架的最小系统,包括创建API项目、配置模块、访问数据库等步骤。通过创建API项目、修改`Program.cs`和`BookAbpModule.cs`文件,以及添加模块和数据库访问功能,最终实现了基本的CRUD操作。文章还展示了如何使用Swagger生成API文档,并通过控制台输出验证模块的加载顺序。适合初学者快速上手ABP框架。
42 3
Abp源码分析之Abp最小系统
|
2月前
|
缓存 测试技术 C#
使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题
【10月更文挑战第20天】本文介绍了使用 Radzen Blazor 组件库开发基于 ABP 框架的炫酷 UI 主题的步骤。从准备工作、引入组件库、设计主题、集成到 ABP 框架,再到优化和调试,详细讲解了每个环节的关键点和注意事项。通过这些步骤,你可以打造出高性能、高颜值的应用程序界面。
|
4月前
|
开发框架 缓存 前端开发
基于SqlSugar的开发框架循序渐进介绍(16)-- 工作流模块的功能介绍
基于SqlSugar的开发框架循序渐进介绍(16)-- 工作流模块的功能介绍
|
4月前
|
开发框架 移动开发 前端开发
基于SqlSugar的开发框架循序渐进介绍(19)-- 基于UniApp+Vue的移动前端的功能介绍
基于SqlSugar的开发框架循序渐进介绍(19)-- 基于UniApp+Vue的移动前端的功能介绍
|
5月前
|
开发框架 前端开发 JavaScript
ABP开发框架的技术点分析(1)
ABP开发框架的技术点分析(1)
|
4月前
|
开发框架 前端开发 JavaScript
基于SqlSugar的开发框架循序渐进介绍(15)-- 整合代码生成工具进行前端界面的生成
基于SqlSugar的开发框架循序渐进介绍(15)-- 整合代码生成工具进行前端界面的生成
|
5月前
|
开发框架 JSON 前端开发
基于ABP框架的SignalR,使用Winform程序进行功能测试
基于ABP框架的SignalR,使用Winform程序进行功能测试