数据库
首页 > 数据库> > .NET 6 + EF Core + MySQL + Docker + Identity +MVC 学习笔记 (二)

.NET 6 + EF Core + MySQL + Docker + Identity +MVC 学习笔记 (二)

作者:互联网

环境准备:

1、VS 2022 免费社区版

开工: 先实现 EF Core + MySQL + Identity

创建新项目 -> ASP.NET Core Web 应用 (MVC)

 

 

 

可以先不勾选Docker,后面再加,但是要用Identity 就需要勾上 配置HTTPS , 并选择身份验证类型为: 个人账户

 

 

 

 

 

默认情况下,是连接的本地SQLite数据库;

通过NuGet 安装 Pomelo.EntityFrameworkCore.MySql

 

 

 修改 appsettings.json中 DefaultConnection 字符串,指向 Azure MySql 

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=xxxxxdb.mysql.database.chinacloudapi.cn; Port=3306; Database={your_database}; Uid=dbadmin@xxxxxdb; Pwd={your_password}; SslMode=Preferred;"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*"
}

修改 Program.cs中 builder.Services.AddDbContext ,如下红色字部分:

builder.Services.AddDbContext<ApplicationDbContext>(options =>
    options.UseMySql(connectionString, new MySqlServerVersion(new Version(5, 7, 19))));
builder.Services.AddDatabaseDeveloperPageExceptionFilter();

准备开始数据库迁移,先进行一次编译,按F6 进行编译;

删除原先的 Migrations 目录:

 

 再用MySQL Workbench客户端先连上Azure MySql 数据库看是空了,没有一个表:

 

 最后通过 程序包管理器控制台 来生成数据库迁移 及 执行数据库迁移:

 

 

 

 再通过MySQL Workbench客户端刷新后看看:

 

 至此,Identity默认格式的  role 、user 等基础表就创建好了;

跑起来看一下:

 

点右上角Register 按钮: 输入email和两次密码:

 

 进入Confirm页面,点击 Click here to confirm your account:

email确认页面,这个页面是个壳子,以后根据需要可以完善,用户注册后,需要通过邮箱里收到的号码进行确认:

 

 以上结束后,点右上角Login,试着 登录看一下:

 

 

 完美,爱死 Identity了,一句代码不写,一个基本应用的用户注册就搭好了:

 

 

用MySQL客户端看下数据库User表:

 

标签:Core,数据库,EF,MySql,MVC,MySQL,your,Identity
来源: https://www.cnblogs.com/jacky-zhang/p/16449004.html