IE盒子

搜索
查看: 80|回复: 0

.netcore 使用EF连接MySql教程

[复制链接]

4

主题

5

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2023-3-3 21:25:28 | 显示全部楼层 |阅读模式

  • 新建.netcore 2.1版本的MVC项目:
  • 在项目中的“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.MySql4. 添加完成后在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)
  {

   }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表