【发布时间】:2018-09-05 13:47:03
【问题描述】:
我有一个位于 Amazon Cloud (RDS) 中的 MySQL 数据库。这是一个只有一张表的小型数据库。
我想使用 EF Core,数据库优先。我知道Pomelo.EntityFrameworkCore.MySql 包很受欢迎,但我看不到任何有关如何通过该包实现 Db 上下文脚手架的信息。
我在这里关注instructions,同时将MySql.Data.EntityFrameworkCore.Design 替换为Pomelo.EntityFrameworkCore.MySql,但是当我在包管理器控制台中运行以下命令时:
Scaffold-DbContext "Server=my-db.rds.amazonaws.com;database=TestDb;uid=blah;pwd=blah;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -f
我刚刚收到错误:
无法解析指定的框架版本“2.0”
我错过了什么?这是我的虚拟解决方案的外观
【问题讨论】:
-
可能是bug,请将 EF Core 更新到最低 2.0.2 并重试。据我在您的链接文章中看到的,您也需要安装MySql.Data.EntityFrameworkCore。一种方法是从头开始遵循instructions,然后遵循数据库优先方法。
-
请注意,EF Core 确实不支持“数据库优先”方法。 Zameer 的答案中提到的
Scaffold-DbContext方法将基于现有数据库创建一个 DbContext 和模型,但是您应该从那里开始“代码优先”,因为在搭建脚手架后没有任何方法可以使用数据库更改来更新 DbContext。
标签: mysql entity-framework entity-framework-core ef-core-2.0 db-first