2017-09-11 555 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.