core+2.0+mysql_通过Mysql连接ASP.Net Core2.0(Code First模式)

ASP.NET Core2.0连接Mysql,首先新建项目

808e71b8e4a07e1f34c3a53de248c7c8.png

选择Web应用程序

9edd379adba6d3f856cc7675bda1ea77.png

选择需要身份验证:

d1e9cab67b2275f614b1c6325f9177fa.png

通过Nuget安装Mysql驱动,这里推荐>Pomelo.EntityFrameworkCore.MySql(记得勾选预览版,目前只有此版本,虽然是预览,但是有rtm标识,所以放心就好)

c1b31a81f8f234fb07fcc3266762a73d.png

增加Startup类中对Mysql的支持

把默认的options.UseSqlServer修改为options.UseMySql

public voidConfigureServices(IServiceCollection services)

{//services.AddDbContext(options =>//options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

services.AddDbContext(options =>options.UseMySql(Configuration.GetConnectionString("MySqlConnection")));//Mysql支持

services.AddIdentity()

.AddEntityFrameworkStores()

.AddDefaultTokenProviders();

services.AddMvc()

.AddRazorPagesOptions(options=>{

options.Conventions.AuthorizeFolder("/Account/Manage");

options.Conventions.AuthorizePage("/Account/Logout");

});//Register no-op EmailSender used by account confirmation and password reset during development//For more information on how to enable account confirmation and password reset please visithttps://go.microsoft.com/fwlink/?LinkID=532713

services.AddSingleton();

}

Mysql实例信息:uid;root     pwd:111111

1ffce1870d363b096df3310378257890.png

打开appsettings.json文件,配置Mysql的连接字符串信息:

{"ConnectionStrings": {//"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-ASP.NETCore20ToMysql-53bc9b9d-9d6a-45d4-8429-2a2761773502;Trusted_Connection=True;MultipleActiveResultSets=true",

"MySqlConnection": "Server=localhost;database=ASP.NetCore-Mysql;uid=root;pwd=111111;"},"Logging": {"IncludeScopes": false,"LogLevel": {"Default": "Warning"}

}

}

运行网站,效果如下:

f8368c5ac1229ad5c15f4335ff785572.png

此时还未与数据库通信,需要触发如登录,注册等需要连接数据库的动作时,才会通过EF与数据库通信,并且发挥CodeFirst的作用,由应用程序的Model建立数据库的表结构,此处可点击Login后登录出现如下界面:

e059b13831c2ada22e39f8fcfe81c404.png

第一次运行会出现如下错误,是由于实体与数据库不统一,需要迁移所致,点击ApplyMigrations同意迁移后刷新网页即可

此时,打开Mysql数据库查看数据库是否新建成功

690a2a7ce24fa3169c0aee8a53c3a784.png

perfect,达到了预期效果

CodeFirst模式真是微软EF的一大利器,高效开发数据库应用必备哈

还有一种dbfirst模式:

执行以下命令创建实体:

Scaffold-DbContext "Data Source=.;Initial Catalog=Blogging;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models(Models是文件夹)

命令格式为:Scaffold-DbContext "Data Source=.;Initial Catalog=Blogging;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值