当前位置: 首页 > news >正文

VS2022中使用EntityFrameworkCore连接MySql数据库方法

使用Pomelo.EntityFrameworkCore.MySql生成去往Mysql数据库中生成表结构,在当前项目下右击

安装<Pomelo.EntityFrameworkCore.MySql>这个程序包文件,注意,一定要看清当前版本的依赖项,如下图所示:

但是直接搜索显示的是最新版本,如下:

这时候需要到官网去找到要求的版本,官网地址,搜索Microsoft.EntityFrameworkCore.Design,找到对应的版本,点进去,如下图:

,然后复制安装命令:

接下来在要安装的项目文件地址下安装,步骤如下:先打开项目文件地址,如下图

在文件夹下的地址栏上输入cmd

打开控制台,粘贴刚刚复制的命令,摁下Enter键即可安装

安装完成后,需要安装Microsoft.EntityFrameworkCore.Design这个包文件,与上同理,

安装完成后,打开程序包管理器控制台,如下所示:

如下显示:

在当前位置输入  Add-Migration InitialCreate命令

回复如下代表成功:

Build started...
Build succeeded.
To undo this action, use Remove-Migration.

输入Update-Database,更新数据库

演示代码部分如下一个Model类
 

[Table("sys_user_info")]
public class SysUserInfo
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Column("_id")]
    public int Id { get; set; }
    [Column("user_name")]
    [MaxLength(100)]
    public string UserName { get; set; }
    [Column("password")]
    public string Password { get; set; }
}

一个EFCoreContext数据库连接类 

 public class EFCoreContext:DbContext
 {
     public DbSet<SysUserInfo> SysUserInfo { get; set; }

     private string strConn = "server = localhost; database=zx_sp;user=root;password=1617;";//"Server=localhost;Database=zx_sp;User=root;Password=1617;";//"server=localhost;database=mydatabase;user=root;password=yourpassword;"

     //public EFCoreContext()
     //{

     //}
     /// <summary>
     /// 配置数据库的访问方式
     /// </summary>
     /// <param name="optionsBuilder"></param>
     protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
     {
         optionsBuilder.UseMySql(strConn, ServerVersion.AutoDetect(strConn));
     }


     protected override void OnModelCreating(ModelBuilder modelBuilder)
     {
         base.OnModelCreating(modelBuilder);

         // 配置实体类的映射关系(可选)
         modelBuilder.Entity<SysUserInfo>(entity =>
         {
             entity.Property(e => e.UserName).IsRequired();
         });
     }

 }

相关文章:

  • HeapDumpBeforeFullGC和HeapDumpOnOutOfMemoryError区别
  • Win10 访问 Ubuntu 18 硬盘
  • 数列分块入门2
  • Linux系统下安装配置 Nginx 超详细图文教程_linux安装nginx
  • 笔记:代码随想录算法训练营day38: LeetCode322. 零钱兑换、279.完全平方数、139.单词拆分;多重背包
  • 接口技术##汇编语言
  • QSplitter保存和读取
  • [数据结构]栈和队列
  • C++20 DR11:数组 `new` 可以推导出数组大小
  • VS Code连接服务器教程
  • C/C++类型转换
  • 扎实基础:测试工作的基石
  • Flask 框架简介
  • Manus+Ollama实现本地大模型部署和应用测试
  • 基于multisim的花样彩灯循环控制电路设计与仿真
  • 密码学(终极版)
  • Django系列教程(5)——Django模型详解
  • 物联网设备接入系统后如何查看硬件实时数据?
  • 【摸鱼指南】--- VSCode 使用 Thief-Book 隐形阅读模式配置教程 程序员必备插件
  • 子集(78)
  • 我的网站要怎样做才能让人家搜到/最新国际新闻事件今天
  • 网站建设类目/网站服务器地址查询
  • 埃及网站后缀/写文的免费软件
  • 分类信息网站建设方案/常州seo关键词排名
  • 网站数据建设涉及哪些内容/烘焙甜点培训学校
  • 5173游戏交易网站源码/网站优化推广费用