首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >首先使用mysql数据库的实体框架

问首先使用mysql数据库的实体框架
EN

Stack Overflow用户
提问于 2018-05-08 21:36:11
回答 5查看 9.8K关注 0票数 6

我正在与c#合作一个新项目,我们希望使用entity Framework6,但每次我们都希望基于我们使用的数据库生成模型。但是,当我使用向导生成ADO.Net模型时,在选择数据库和实体框架之后,单击“下一步”按钮,出现窗口来选择表,窗口消失,没有任何类型的错误。

我使用的是visual studio 2017社区版,并且已经安装了mysql连接器v.8.0.11。如果我将mysql连接器版本和实体框架降级到v5,一切都可以正常工作,但在我将连接器和实体框架更新到版本6后。*我得到了上面报告的问题。

EN

回答 5

Stack Overflow用户

发布于 2018-08-04 09:04:51

所以经过3天的努力,我终于找到了问题所在…

因此,您必须从NuGet包版本下载的MySql.Data和MySql.Data.Entity与必须下载的MySql连接器/网络的版本直接相关。

当您查看MySql.Data.Entity的最新版本是6.10.7时,这意味着当下载连接器/NET8时,存在版本不兼容,从而导致ADO.Net数据实体向导关闭。

下载以下内容,BAM它就可以工作了:

代码语言:javascript
复制
MySql for visual studio 
MySql Connector/NET v6.10.7   

NuGet包:

代码语言:javascript
复制
Entityframework v6.1.3    
MySql.Data v6.10.7    
MySql.Data.Entity v6.10.7 
票数 10
EN

Stack Overflow用户

发布于 2019-03-19 13:14:42

有一件事值得注意:

你将需要不同的Mysql EntityFramework包用于Mysql version6和version8(这可能是为什么发帖者将他/她的mysql连接器从8降级到6)

如果您的mysql连接器是版本8.x.x,您可能需要安装这个NuGet包:https://www.nuget.org/packages/MySql.Data.EntityFramework/

如果您的mysql连接器是版本6.x.x,则需要:https://www.nuget.org/packages/MySql.Data.Entity/

并安装与mysql连接器完全相同的版本。否则,有些东西将无法工作。

票数 4
EN

Stack Overflow用户

发布于 2018-07-05 17:20:06

我可以通过Web.config的以下配置来解决这个问题

代码语言:javascript
复制
<entityFramework>
  <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.11.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
  <providers>
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.11.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
  </providers>
</entityFramework>
<system.data>
  <DbProviderFactories>
    <remove invariant="MySql.Data.MySqlClient" />
    <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.11.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D" />
  </DbProviderFactories>
</system.data>

我还参考了:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50234960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档