Net Core链接数据库

原文

在Windows下,相信大家分分钟都可以搞定。而初次接触.net core + mysql可能需要注意些细节。
首先打开vs2017新建一个asp.net core项目(选Web应用程序),

然后nuget 导入Microsoft.EntityFrameworkCore.Tools 1.1.1MySql.Data.EntityFrameworkCore 8.0.8-dmr

然后新建一个DbContext类

public class DataContext : DbContext
{
    //【注意】连接字符串一定要加 sslmode=none 
    string str = @"Data Source=;Database=;User ID=;Password=;pooling=true;CharSet=utf8;port=3306;sslmode=none";
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) =>
        optionsBuilder.UseMySQL(str);

    //下面就可以添加要加入数据库的实体了
    //public DbSet<Message> Messages { get; set; }
}

  到此为止,我们已经可以利用EF Core直接连接mysql进行增删改查操作了。

注意:需要导入命名空间using Microsoft.EntityFrameworkCore; using MySQL.Data.EntityFrameworkCore.Extensions;

当然。你会说,连接字符串不能硬编码到代码里面。我们也可以放配置文件。appsettings.json

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "ConnectionStrings": { "SqlServerConnection": "Data Source=;Database=;User ID=;Password=;pooling=true;CharSet=utf8;port=3306;sslmode=none" }
}

  然后把上面的硬编码注释掉。在Startup.cs文件的ConfigureServices方法添加

var connection = Configuration.GetConnectionString("SqlServerConnection");services.AddDbContext<DataContext>(options => options.UseMySQL(connection));

原文地址:https://www.cnblogs.com/ZkbFighting/p/9366752.html