ef core mysql 创建数据库_.NetCore2.0下使用EF CodeFirst创建数据库

本文所使用的VS版本:VS2017 15.3.0

首先新建一个.net core项目  取名NetCoreTask

179743808e5a858afde751924ff47e1b.png

使用模型视图控制器方式

40c0caff0fa8bef1c0657b80da05f56e.png

新建Model层

bf58f5c82bc72189bcb3b62cbf46b434.png

在Model层下新建一个user实体类

1 namespaceXX.Model2 {3 public classtb_User4 {5 public string ID { get; set; }6 public string UserName { get; set; }7 public DateTime CreateTime { get; set; }8 }9 }

新建一个Service层 在下面新建一个dbContext类

1 namespaceXX.Service2 {3 public classXDbContext : DbContext4 {5 public XDbContext(DbContextOptions options) : base(options)6 {7

8 }9 public DbSet UserExtend { get; set; }10 protected override voidOnModelCreating(ModelBuilder modelBuilder)11 {12 base.OnModelCreating(modelBuilder);13 }14 }15 }

在Web项目下的appsettings.json文件中添加数据库连接字符串,添加后如下:

1 {2 "ConnectionStrings": {3 "XConnection": "Server=127.0.0.1;Database=XCoreDb;User ID=sa;Password=123456"

4 },5 "Logging": {6 "IncludeScopes": false,7 "LogLevel": {8 "Default": "Warning"

9 }10 }11 }

接下来修改 Web项目下的Startup中的ConfigureServices方法,修改后如下:

1 public voidConfigureServices(IServiceCollection services)2 {3 services.AddDbContext(options =>

4 options.UseSqlServer(Configuration.GetConnectionString("XConnection")));5 services.AddMvc();6 }

配置工作已经完成,接下来我们使用控制台命令生成数据库  FirstMigration这个名字是随便起的(定位在Service项目下)

PM> Add-Migration FirstMigration

果不其然报错了

7e9a5deee6dde6fbc8df5f7d999abd76.png

这是因为我们的Web项目和Service没有什么关系,添加Web项目对Service项目的引用后继续

2ae6a6c63134ff08c319c01d6d31b428.png

成功了!

我们发现Service项目下多了一个文件夹

9c7d7abdcead9f153976dcc789021100.png

但是我们发现在Designer.cs这个文件中有一个错误

0c7532c131550c91a6399f3c7eab61cb.png

这是因为我们没有添加 Microsoft.EntityFrameworkCore.SqlServer 这个引用

添加后,继续执行Update-Database -Verbose 命令

1 PM> Update-Database -Verbose

fabd4ce9bb04fba9648ea8cbf890d65d.png

出现这个就是成功了。

073448ddef9188f94f4bca996af631fb.png

数据库创建成功!

最后的项目结构图:

c70396a6c1e81cdd7729caae8404e9f1.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值