2017-09-11 381 views
0

當添加一個新的ADO.NET Entity Data Model>EF Designer From database>New Connection>Change Connection我沒有看到MySQL的選項;Visual Studio 2017和MySQL EntityFramework

enter image description here

我已經安裝NuGet包MySQL.Data.Entity(以及所需的MySql.Data和Google.Protobuf)。

另外,當我添加包MySQL.Data.Entity時,我現有的MS SQL實體返回此錯誤消息;

System.TypeLoadException:「通過 型違反繼承安全規則: 'MySql.Data.MySqlClient.MySqlProviderServices'。衍生類型 必須匹配基本類型的安全可訪問性,或者不可訪問。

然而在App.config中它仍然指向MS SQL;

<add name="MyDBEntities" connectionString="metadata=res://*/MyEntity.csdl|res://*/MyEntity.ssdl|res://*/MyEntity.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MSSQLSERVER;initial catalog=MyDB;persist security info=True;user id=sa;password=MyPassword;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

如果我刪除了NuGet包MySQL.Data.Entity並且沒有任何改變,它可以正常工作。

回答

3

我今天解決了同樣的錯誤,卸載所有MySQL和重新安裝(以相同的順序):

而且,在VS項目中,使用Nuget包管理器進行安裝:

  • 1.-實體框架v.6.0.0
  • 2:MySql.Data和MySql.Data.Entity v.6.8.8

我已經證明了另一個版本,永不MySQL的數據源已經看到,直到選擇這種組合。我希望這對你有用。問候。我有Visual Studio 2017.