经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MySQL » 查看文章
更换Mysql数据库-----基于Abo.io 的书籍管理Web应用程序
来源:cnblogs  作者:悟自省  时间:2023/5/29 15:19:56  对本文有异议

之前公司一直使用的是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工具克隆本项目

  1. 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目录下执行命令进行数据库迁移,之后就可以在数据库中看到所有的表

  1. dotnet ef migrations add Init
  1. dotnet ef database update

9、所有准备都已完成,运行应用程序,选中*.web,右键点击Run,报错启动不了,通过查找,发现在wwwroot下没有libs文件

  1. Could not find the bundle file '/libs/abp/core/abp.css' for the bundle 'LeptonXLite.Global'!
安装ABP CLI, 用于自动执行基于 ABP 的解决方案的一些常见任务
  1. dotnet tool install -g Volo.Abp.Cli
之后安装libs
  1. abp install-libs

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

原文链接:https://www.cnblogs.com/moonstars/p/17436564.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号