【发布时间】:2021-01-10 05:07:10
【问题描述】:
环境:Ubuntu 16.04、.NET Core 1.10 (1.0.0-preview2-1-003177)、Visual Studio Code 1.8.1
我通过运行以下命令创建了一个 ASP.NET MVC Core 应用程序:
$ dotnet new -t web
我能够在 VSC 中加载文件夹并对其进行调试。
默认情况下,引擎会为 Sqlite 生成代码。我正在将其更改为使用 MySQL。我的更改基于以下两篇文章中的信息:
http://insidemysql.com/howto-starting-with-mysql-ef-core-provider-and-connectornet-7-0-4/ https://damienbod.com/2016/08/26/asp-net-core-1-0-with-mysql-and-entity-framework-core/
首先,我将以下几行添加到project.json 的dependencies 部分。
"MySql.Data.Core" :"7.0.4-ir-191",
"MySql.Data.EntityFrameworkCore": "7.0.6-IR31"
运行dotnet restore后,下载了所需的DLL。
接下来就是修改Startup.cs并修改
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(Configuration.GetConnectionString("DefaultConnection")));
到
services.AddDbContext<ApplicationDbContext>(options =>
options.UseMySQL(Configuration.GetConnectionString("DefaultConnection")));
基本上,我将UseSqlite 替换为UseMySQL。
但是,UseMySQL 或 UseMySQL 的扩展方法似乎在 DbContextOptionsBuilder 上不可用。
想知道我是否错过了某个地方。问候。
【问题讨论】:
-
缺少
using MySQL.Data.EntityFrameworkCore.Extensions;声明?或者你使用了错误的版本。7.0.6-IR31用于 EF Core 1.0。 EF Core 1.1 的最新版本是6.10.0-alpha -
我遇到了同样的问题,但对于 Oracle:stackoverflow.com/questions/51390383/…
标签: entity-framework asp.net-core