

更换Mysql数据库-----基于Abo.io 的书籍管理Web应用程序 - 悟自省
source link: https://www.cnblogs.com/moonstars/p/17436564.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

更换Mysql数据库-----基于Abo.io 的书籍管理Web应用程序
之前公司一直使用的是ASP.NET Boilerplate (ABP),但是当解决方案变得很大时,项目启动就变得非常慢,虽然也想了一些办法,将一些基础模块做成Nuget包的形式,让整个解决方案去引用。但是整个项目还是很臃肿,各个项目之间的耦合性太强,很难将其拆开;无法进行微服务的部署,扩展性差。之后,选择,Abp的vnext版本,优点:
1. 其新的ABP框架可方便的开发微服务并使它们相互通信。亦可作为微服务单独部署,或者可以嵌入到单个应用程序中;
2. 模块化。最明显的就是更加模块化,使项目更加清晰明了,设计更合理;
3. 更多可扩展性。新的ABP框架为内置服务提供了更多的扩展点和覆盖的能力;
4. 支持关系型和非关系型数据库,Redis作为分布式缓存,使用RabbitMQ作为事件总线的消息处理方式,使用Quartz/HangFire作为定时任务的处理,引入可了IdentityServer4服务;
接下来呢,会从 https://abp.io/上下载 官网构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的ABP应用程序
1、首先进入界面 https://docs.abp.io/zh-Hans/abp/latest/Tutorials/Part-1?UI=MVC&DB=EF,然后根据偏好选择下载,我们以第一个为例

2、官网的代码放在github上,点击abp-samples,就可以看到它的所有解决方案,BookStore-Mvc-EfCore 就是我们今天要更改的解决方案


3、使用Git工具克隆本项目
git clone https://github.com/abpframework/abp-samples.git

4、稍等一段时间后,使用VS Code打开本项目(VS 2019不支持,想使用的升级到VS 2022),在工具中添加 vscode-solution-explorer 组件

5、点击解决方案,右键选择Build,对项目进行包还原,从解决方案的结构上看,就能看到其清晰的分层,解决方案中的项目及依赖关系.


6、接下来点击Acme.BookStore.EntityFrameworkCore,找到它的Acme.BookStore.EntityFrameworkCore.csproj文件,更换Nuget包,解决方案之前使用的是SQLServer,要将其更改为Mysql,之后找到BookStoreDbContextFactory和BookStoreEntityFrameworkCoreModule文件,更改其引用的地方



7、重新修改数据库连接字符串,并删除Migrations文件夹下的文件
找到*.Web 和 *.DbMigrator中的appsettings.json文件对数据库连接字符串进行修改
"Default": "Server=localhost;Port=3306;Database=数据库名字;Uid=root;Pwd=数据库密码;Convert Zero DateTime=True"
8、在*.EntityFrameworkCore目录下执行命令进行数据库迁移,之后就可以在数据库中看到所有的表
dotnet ef migrations add Init
dotnet ef database update
9、所有准备都已完成,运行应用程序,选中*.web,右键点击Run,报错启动不了,通过查找,发现在wwwroot下没有libs文件
Could not find the bundle file '/libs/abp/core/abp.css' for the bundle 'LeptonXLite.Global'!
安装ABP CLI, 用于自动执行基于 ABP 的解决方案的一些常见任务
dotnet tool install -g Volo.Abp.Cli
之后安装libs
abp install-libs

再次进行Run,成功啦!!以admin作为用户名和1q2w3E* 作为密码登录到应用程序,登录成功后,就可以看到书籍管理功能


Recommend
-
23
[ 摘要 ]滴滴出行与小桔车服表示,暂停期间,公司将重新梳理和完善新司机准入流程,同时对已有司机师傅的租车买车情况进行调研核查,帮助大家及时止损,必要时协助司机师傅进行维权。 腾讯新闻《一线》 李思谊...
-
11
我真的很喜欢微软近年来的策略,通过使用VS Code,.Net Core和Azure云使开发变得更容易。这篇文章详细介绍了在Mac笔记本电脑上使用VS Code开发一款...
-
7
Git是一款免费、开源的分布式版本控制系统,早由LinilusTorvalds创建,用于管理Linux内核开发,现已成为分布式版本控制的主流工具。在众多的项目开发中普遍使用,得到程序员和工程师的欢迎和喜爱。 高效的版本控制是成功开发软件项目的关键。自2005年诞...
-
9
感悟、迷茫、困惑与自省 《论语》中曾说过,吾日三省吾身。 其实在下本身也会有这么一个类似的习惯,那就是经常在心底默默的剖析自己,解构我的动作与想法。是做的对?还是做得错?我的行动是基于什么...
-
12
【夜读】学会自省,是一个人最了不起的能力 ...
-
9
自省一旦过了头,就容易中“反刍思维”的毒哈佛商业评论·2022-05-30 00:50我们会担忧将要发生的事,也会反刍已经发生的事。
-
3
管理精进指南:管理者定期自省35问(一) 纸皮小火车 2022-07-06 1 评论...
-
6
行思錄 | Travel Coder Arch, Coding, Life
-
2
ABP AutoMapper与自定义Mapping
-
13
掌握在 Golang 项目中处理多个数据库的艺术在当前软件开发领域中,处理单个应用程序内的多个数据库的需求越来越普遍。具有强大功能的 Golang 是处理此类任务的绝佳解决方案,无论您是与多个数据源合作还是仅为增强组织和可扩展性而分隔数据。在本文中,我们...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK