您的位置:首页 > 编程语言 > ASP

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

2018-07-09 16:10 751 查看

环境配置,

安装好以下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<DataContext> options) : base(options)
{ }
    public DbSet<Data> DataSet { get; set; }
}
再ConfigureServices中添加以下项目
services.AddDbContext<ProtocalDataContext>(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;



阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐