2017-08-24 55 views
1

將.NET Core Web應用程序升級到.NET Core 2.0,我很難在升級到MySQL 8.0後找不到MySQL擴展方法。 8-dmr發佈。ASP.NET Core 2 MySQL 8.0.8-dmr實體框架擴展找不到

MySQL數據實體框架的核心升級到8.0.8-DMR

$ dotnet add package MySql.Data.EntityFrameworkCore --version 8.0.8-dmr 

在我Startup.cs,我有:

using MySQL.Data.EntityFrameworkCore; 
using MySQL.Data.EntityFrameworkCore.Extensions; 

但在MySQL 8.0.8-DMR發佈,找不到Extensions命名空間。

錯誤CS0234:類型或命名空間名稱「擴展」不存在命名空間存在「MySql.Data.EntityFrameworkCore」(是否缺少程序集引用?)

這是需要使用MySQL的,如ConfigureServices()

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddDbContext<ApplicationDbContext>(options => 
     options.UseMySQL(Configuration.GetConnectionString("DefaultConnection"))); 

沒有擴展方法,這導致:

錯誤CS1061:「DbContextOptionsBuilder」不包含「UseMySQL」,沒有擴展方法「UseMySQL」接受一個類型的第一個參數定義「DbContextOptionsBuilder」可以發現

是否有使用MySQL不同的方法在ASP.NET Core 2 Web Apps中?

+0

你試過如果外殼變了嗎?即如果有一個名爲UseMysql的呢?或者如果你有任何nuget包恢復警告 – Tseng

+0

'.Net Core 2'上的'MySQL.Data.EntityFrameworkCore 8.0.8-dmr'工作嗎?我的工作不正常。我得到錯誤'...沒有執行' – NEER

+0

@NEER不,它與.NET Core 2不兼容。 –

回答

1

正如評論中指出的,嘗試更改套管,即UseMysql。還要檢查nuget包恢復警告。

0

也許可以幫助

我我的測試我建一個56年5月5日,MariaDB的 工程與VisualStudio的2017年 該項目是ASP.NET的核心2 我安裝 Microsoft.EntityFrameworkCore.Tools V2.0.1 柚.EntityFrameworkCore.MySql v2.0.0.1 和默認VS安裝 Microsoft.AspNetCore.All v2.0.3 Microsoft.NETCore.App v2.0.0 而且不要忘了當你輸入你的命令指定你想要的實體框架使用... EntityFrameworkCore \ update-database

在我的DbContext:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
    => optionsBuilder 
     .UseMySql(@"Server=hostIp;database=dbName;uid=root;pwd=123456;"); 

很適合我的柚子

更多信息@https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/blob/master/README.md#getting-started