无法创建实体数据模型 - 使用MySql和EF6

28

我正在尝试在Visual Studio 2013的C#/ Web项目中添加edmx实体模型。 我的问题是没有创建文件。

我按照以下步骤操作:

  1. 给项目命名
  2. 选择 'EF Designer from database'
  3. 从下拉菜单中选择连接(localhost),已经成功连接到MySQL数据库
  4. 选中 "Save connection settings in webc.config as" 选项
  5. 我点击'下一步',然后窗口消失,回到代码窗口

没有创建edmx文件。 (尽管对于SQL Server有效,但对于MySQL无效)

我已经安装了 Entity Framework 6.1.2MySql.DataMySql.Data.EntitiesMySql.Data.EntityMySql.Web -- 全部都已安装。

在尝试添加实体模型文件之前,我还重建了项目。

我安装了最新的MySQL包和最新的.NET连接器

运行环境:Windows 7上的Visual Studio 2013。

有什么解决方法吗?


有没有可能文件已经被创建但没有自动包含在解决方案中? - Yasir
@Yasir 是的,它在那里。我尝试从设计师(图表)中再次“从数据库更新模型”,但它只是关闭窗口而没有做任何事情。 - Liron Harel
1
你能附上你的解决方案资源管理器和文件夹结构的截图吗?接下来,如果你看到edmx文件已经打开,请关闭它,右键点击并使用XML编辑器打开。搜索单词“error”和“exception”,并发布你找到的内容。 - Yasir
我有完全相同的问题。你找到解决方案了吗?请告诉我。 - DR.
Core的解决方法在这里 https://stackoverflow.com/a/58324837/7149454 - Nick Kovalsky
13个回答

0

我将我的web.config文件从:

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.11.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

更改为:

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>


这对我正在遇到 OP 问题的 Visual Studio 2017 Community 项目没有起作用。 - Ray Goudie

0

另一种尝试:

--->通过nuget安装entityframework 6.2.0。

--->在您的web.config/app.config文件中验证是否安装了System.Data.SqlServerCe.4.0提供程序。如果未安装,则通过nuget安装与先前安装的entity framework完全相同的版本(在本例中为6.2.0)。

--->然后添加引用:(在此示例中来自连接器/NET版本6.9.10) C:\ Program Files(x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dllC:\ Program Files(x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll并重新构建。

--->尝试添加此提供程序: <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 再次重建。

--->最后,尝试使用新连接添加.edmx文件。

这在我的情况下起作用,我在全新的笔记本电脑上安装了VS2017和MySQL,并遇到了相同的问题。


0

针对EntityFramework 5.0

步骤1

https://downloads.mysql.com/archives/c-net/上安装MySQL Connector/NET版本6.8.4

https://dev.mysql.com/downloads/windows/visualstudio/上安装Visual Studio的MySQL插件

步骤2

添加参考:

  • MySql.Data
  • MySql.Data.Entity.EF5

步骤 3

在 web.config 中添加以下代码

 <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient"></remove>
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.4.0, Culture=neutral" />
    </DbProviderFactories>
  </system.data>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接