.netcore 使用EF连接MySql教程

  1. 新建.netcore 2.1版本的MVC项目:
  2. 在项目中的“appsettings.json”和“appsettings.Development.json”文件中插入:

“ConnectionStrings”: {

“Database”: “Server=127.0.0.1;User Id=xxx;Password=xxxxxx;Database=xxxxx;”

}

*根据环境(正式、测试)不同,xxxx替换为需要使用数据库的对应内容,userid为登入名,password为密码,database为项目对应数据库*

3. 为项目添加以下NuGet引用(保证最新版):

    Microsoft.EntityFrameworkCore
    Microsoft.EntityFrameworkCore.Design
    Microsoft.EntityFrameworkCore.SqlServer
    Microsoft.EntityFrameworkCore.SqlServer.Design
    Microsoft.EntityFrameworkCore.Tools
    MySql.Data.EntityFrameworkCore
    MySql.Data.EntityFrameworkCore.Design
    Pomelo.EntityFrameworkCore.MySql

4. 添加完成后在VS工具中的程序包管理控制台中执行下面的语句:

Scaffold-DbContext "Server=127.0.0.1;User Id=xxx;Password=xxxxx;Database=xxx;" "Pomelo.EntityFrameworkCore.MySql" -OutputDir Models -force

这里需替换可以使用的数据库对应的信息,其中”Models”为需要放入的文件夹, “-force”为替换文件夹中所有重复文件

5. 执行完以上语句后会在语句指定的目录中看到自动生成的数据库实体等文件

6. 打开Startup.cs, 在ConfigureServices中增加:

  string connstr = Configuration.GetConnectionString("Database");
  services.AddDbContextPool<YourDbContext>(// replace "YourDbContext" with the class name of your DbContext
   options => options.UseMySql(connstr,
   mysqlOptions =>
  {
    mysqlOptions.ServerVersion(new Version(5, 7, 17), ServerType.MySql); 
   }
 ));

7. 在controller中可以参照以下进行使用:

using(var DB = new YourDbContext())
{
  var list = DB.tablename.where(a=>a.id=1).ToList();
  foreach(var item in list)
  {

   }
}

    原文作者:Ronky
    原文地址: https://zhuanlan.zhihu.com/p/38030145
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞