当前位置: 代码迷 >> 综合 >> 在Asp.Netcore MVC中使用efcore,DBfrist
  详细解决方案

在Asp.Netcore MVC中使用efcore,DBfrist

热度:59   发布时间:2023-12-26 19:12:46.0

一.安装efcore

   在NUGET包管理器里搜索并安装如下:

    (1)Microsoft.EntityFrameworkCore 

    (2)Microsoft.EntityFrameworkCore.Design

    (3)Microsoft.EntityFrameworkCore.Tools

    (4)Pomelo.EntityFrameworkCore.MySql

    如图:

 

二.DBFirst,根据已有的数据库表来自动生成和创建Models。

   (1)工具——>NuGet包管理器——>程序包管理器控制台,如图:

       

         

   (2)执行如下命令:

            Scaffold-DbContext  "Data Source=192.168.1.209【改为自己数据库服务器地址】;Initial Catalog=test【改为自己数据库的名称】;User ID=crm【改为自己数据库用户名】;Password=123456【改为自己数据库密码】" Pomelo.EntityFrameworkCore.MySql -OutputDir Models【改为打算保存models的文件夹】

   (3)执行命令后Models文件夹下会生成数据库的表对应的Model

         

         以及对应调用该数据库efcore的Context类:

        

(4)修改实体类,执行命令:Scaffold-DbContext -Force "Data Source=192.168.1.209【改为自己数据库服务器地址】;Initial Catalog=test【改为自己数据库的名称】;User ID=crm【改为自己数据库用户名】;Password=123456【改为自己数据库密码】;

charset = 'utf8'; pooling = true; Allow Zero Datetime = True; Allow User Variables=True;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models【改为打算保存models的文件夹】  

三.在 Startup.cs 中注册并配置上下文

     找到并打开Startup.cs,然后在ConfigureServices函数下添加如下代码来注册

      services.AddDbContext<Models.testContext>(
                options => options.UseMySQL("Data Source=192.168.1.209;Initial Catalog=test;User ID=crm;Password=123456")
                );

         这里面的Models.testContext是在第二步中执行命令自动创建的。其余的就是基本设置了。

四.在Controllers中的使用

     

       

  

  相关解决方案