asp.net core 2.0 连接mysql 使用 MySql.Data.EntityFrameworkCore 遇到的问题

环境配置,

安装好以下Nuget包:

MySql.Data.EntityFrameworkCore

MySql.Data

给程序按照EF风格添加DbContext如下

public class Data
{
    [Key]
    public int Id { get; set; }
    public string Annotation { get; set; }
}
public class DataContext:DbContext
{
    public DataContext(DbContextOptions options) : base(options)
        { }
    public DbSet DataSet { get; set; }
}

再ConfigureServices中添加以下项目

 services.AddDbContext(options =>
            options.UseMySQL(Configuration.GetConnectionString("DefaultConnection")));

其中DefaultConnection定义在appsettings.json中

"ConnectionStrings": {
    "DefaultConnection": "此处输入连接字符串"
  }

然后再nuget 命令控制台(工具->Nuget->控制台)中输入以下命令

Add-Migration//该命令会提示输入一个名称,该名称可以任意

执行完后输入以下命令

 Update-Database

如果出现错误提示

xxxx.__EFMigrationsHistory  doesn't exist

暂时不太清楚为什么会出现这个错误,但是可以通过如下方式解决  参考链接,对工作目录执行以下查询

CREATE TABLE `__EFMigrationsHistory` ( `MigrationId` nvarchar(150) NOT NULL, `ProductVersion` nvarchar(32) NOT NULL, PRIMARY KEY (`MigrationId`) );

至此Update-Database能够顺利执行。

部分操作中提示SSL错误:does not support SSL connections.

解决方法为给连接符添加以下命令:

SslMode=none;



你可能感兴趣的:(asp.net,.net,.net,core,asp.net,core,MySql)