2.项目介绍,数据库迁移(code first)

首先介绍下项目下的几个类库

*****.Application :编写自动控制器service的地方     应用层

*****.Contracts:存放dto实体(比如保存数据时不需要保存id我们dto实体中没有id属性)   应用层

*****.Domain:存放实体类        领域层

*****.Domain.Shared:理解为共享域(比如存放一些枚举类)                领域层

*****.DbMigrator:用于数据迁移

*****.EntityFrameworkCore:如果使用code first方式此类库需要映射表      基础设施层

*****.EntityFrameworkCore.DbMigrations:后续做操作更新数据库使用类库       基础设施层

*****.HttpApi.Host:启动项目所有控制器存放地。指向swagger           宿主示例

领域层 :Domain+Domain.shared:最核心的,Domain.shared主要做一些数据共享像枚举什么的,可以被上层领域的东西,领域规则呀什么的都写在这里面

应用层:APPlication+Contracts   写业务逻辑,主要在一些业务协调

展现层:Web  展现view

远程服务层:HttpApi+Client   其实跟上面应用层差不多,不过我们常用的就是应用层
基础设施层:  EntityFrameworkCore   EntityFrameworkCore.DbMigrations 封装了很多基础的设施 

该解决方案使用Entity Framework Core Code First 迁移. 你需要应用迁移来创建数据库,有两种方法迁移数据库,如果不想使用code first方式创建数据库可以手动建库不采用本篇文章,直接在host项目下修改连接字符串直接调用数据库

1.使用DbMigrator应用程序应用迁移

该解决方案包含一个控制台应用程序(在此示例中名为Test1111.DbMigrator),可以创建数据库,应用迁移和初始化数据. 它对开发和生产环境都很有用. 

.DbMigrator项目有自己的appsettings.json. 因此,如果你更改了上面的连接字符串,则还应更改此字符串.

"ConnectionStrings": {
    //"Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=Test11111;Trusted_Connection=True;MultipleActiveResultSets=true"默认使用localdb数据库
    "Default": "Server=123.123.123.123; Database=Test; Persist Security Info=True;User ID=sa;Password=123;Packet Size=512;"//这里我是用sqlserver数据库
  }

 右键单击.DbMigrator项目并选择 设置为启动项目:

按F5(或Ctrl + F5)运行应用程序. 它将具有如下所示的输出:

查看数据库已经生成Test数据库

2.使用EF Core Update-Database命令

Ef Core具有Update-Database命令, 可根据需要创建数据库并应用挂起的迁移. 右键单击.Host项目并选择设置为启动项目:

右键单击.Host项目并选择设置为启动项目:

打开包管理器控制台(Package Manager Console), 选择.EntityFrameworkCore.DbMigrations项目作为默认项目并运行Update-Database命令:

这将基于配置的连接字符串创建新数据库.

使用.DbMigrator工具是建议的方法, 因为它能初始化初始数据能够正确运行Web应用程序.

如果你只是使用 Update-Database 命令,你会得到一个空数据库,所以你无法登录到应用程序因为数据库中没有初始管理用户. 不需要种子数据库时,可以在开发期间使用 Update-Database 命令. 但是使用 .DbMigrator 应用程序会更简单,你始终可以使用它来迁移模式并为数据库添加种子.

运行应用程序

最后确保 .Host是启动项目,并且修改host下的appsettings.json中的链接字符串,运行应用程序后会在你的浏览器打开Swagger 页面.

 所有的api都会展示

abp cli方式安装 ABP vNEXT-1安装ABP 官方提供的CLI工具 - HackerVirus - 博客园

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香煎三文鱼

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值