环境: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/
首先,我将以下几行添加到dependencies
的{{1}}部分。
project.json
运行"MySql.Data.Core" :"7.0.4-ir-191",
"MySql.Data.EntityFrameworkCore": "7.0.6-IR31"
后,下载了所需的DLL。
下一步是修改Startup.cs并修改
dotnet restore
到
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(Configuration.GetConnectionString("DefaultConnection")));
基本上,我将 services.AddDbContext<ApplicationDbContext>(options =>
options.UseMySQL(Configuration.GetConnectionString("DefaultConnection")));
替换为UseSqlite
。
但是,UseMySQL
似乎无法使用扩展方法UseMySQL
或UseMySQL
。
想知道我是否错过了某个地方的某个步骤。问候。
答案 0 :(得分:7)
添加using MySQL.Data.EntityFrameworkCore.Extensions;
语句。
答案 1 :(得分:2)
我已经在我的Mac上成功使用了这个,并将最新版本的VS社区用于ASP CORE MVC项目,我只需要添加以下NuGet-Packages:
Microsoft.EntityFrameworkCore
MySql.Data.EntityFrameworkCore
然后在你的课堂上使用它们,如:
using Microsoft.EntityFrameworkCore;
using MySQL.Data.EntityFrameworkCore.Extensions;
请注意,USING语句中的MySQL是CAPITAL字母,它是NuGet包名称上的MySql。 希望这个嗨
答案 2 :(得分:0)
即使安装了Pomelo.EntityFrameworkCore.MySql,我也遇到了同样的问题, 刚刚通过终端安装了软件包:
dotnet add package Pomelo.EntityFrameworkCore.MySql
成功了!