第二十四节:再探EFCore连接MySQL详解(基本使用、)
一. EFCore6.0连接MySQL
1. 常用程序集
(1) MySql.EntityFrameworkCore : mysql官方出品,不开源,更新慢
(2) Pomelo.EntityFrameworkCore.MySql: 个人维护,开源,更新快,非常活跃 【推荐】
2. 代码实操
(1). 安装程序集 【Pomelo.EntityFrameworkCore.MySql 6.0.1】【Microsoft.EntityFrameworkCore.Tools 6.0.5】
(2). 反向生成代码
【Scaffold-DbContext "Server=xxxx;Database=EFCore6xDB;User ID=root;Password=xxx;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Context EFCore6xDBContext -UseDatabaseNames -DataAnnotations -NoPluralize】
PS:在EFCore7.0中 User ID改为 User
【Scaffold-DbContext "Server=xxxx;Database=EFCore6xDB;User=root;Password=xxx;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Context EFCore6xDBContext -UseDatabaseNames -DataAnnotations -NoPluralize】
(3). 进行增删改查测试
#region 1.1 新增 //{ // using var db = new EFCore6xDBContext(); // UserInfo user = new UserInfo() // { // id = Guid.NewGuid().ToString("N"), // userName = "ypf1", // userPwd = "123456", // userAge = 19, // userGender = "男", // addTime = DateTime.Now, // delflag = 0 // }; // await db.Set<UserInfo>().AddAsync(user); // await db.SaveChangesAsync(); // Console.WriteLine("新增成功"); //} #endregion #region 1.2 修改 //{ // using var db = new EFCore6xDBContext(); // var userList = db.Set<UserInfo>().ToList(); // foreach (var item in userList) // { // item.addTime = DateTime.Now; // item.delflag++; // } // await db.SaveChangesAsync(); // Console.WriteLine("修改成功"); //} #endregion #region 1.3 查询 //{ // using var db = new EFCore6xDBContext(); // var userList = db.Set<UserInfo>().ToList(); // foreach (var item in userList) // { // Console.WriteLine($"{item.userName}, {item.userPwd}, {item.userAge},{ item.userGender}, {item.addTime}, {item.delflag}"); // } //} #endregion #region 1.4 删除 //{ // using var db = new EFCore6xDBContext(); // var user = db.Set<UserInfo>().Where(u => u.userName.StartsWith("ypf")).FirstOrDefault(); // db.Remove(user); // await db.SaveChangesAsync(); // Console.WriteLine("删除成功"); //} #endregion
二. xxxx
!
- 作 者 : Yaopengfei(姚鹏飞)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
- 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。