ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2022-07-05 23:36:17  阅读:190  来源: 互联网

标签:Core 数据库 EF MySql MVC MySQL your Identity


环境准备:

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有