【问题标题】:Entity Framework Powertools Generating Views with Mysql and EF6Entity Framework Powertools 使用 Mysql 和 EF6 生成视图
【发布时间】:2014-10-26 22:11:36
【问题描述】:

我将 Entity Framework 6.1 与 MySQL Server 5.5.35 和 EF Powertools(最新版本)一起使用。我能够很好地运行和使用框架,并在应用程序配置文件中注册了所有正确的提供程序详细信息。

我遇到的问题是我无法使用右键单击电动工具功能生成视图,它不断抛出此异常:

System.Reflection.TargetInvocationException:调用的目标已抛出异常。 ---> System.Data.Entity.Core.MetadataException:指定的架构无效。错误: Model1.edmx(7,8):错误 0152:没有为具有不变名称“MySql.Data.MySqlClient”的 ADO.NET 提供程序找到实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分注册。

我理解所问的问题,因为我最初在运行我的项目时遇到了这个问题,但是虽然它在运行和编译生成视图函数时工作正常,但会引发此错误。我只能假设 Power 工具正在寻找其他位置的提供程序,而不是我的应用程序配置文件,因为它们已注册。

有没有人知道它可以从哪里获得提供者列表,也许来自全局系统配置文件?我对此并没有真正的经验,并且在搜索了几个小时后一无所获。

任何帮助将不胜感激或指出正确的方向。 谢谢

【问题讨论】:

  • visual studio 对于在哪里查找 .config 文件有点挑剔。您是否重建了项目以确保没有任何旧的 .config 文件供 Visual Studio 查找?

标签: c# mysql entity-framework-6 ef-power-tools


【解决方案1】:

第一个原因,尝试使用较低版本的实体框架。当我使用 MySql 时,EF6 暂时不支持 Mysql。如果您有连接器 6.8.x,它现在显然适用于 6.0,但我仍然不确定 6.1。 您可以在这里查看信息:EF6.0 connector

有几个原因可能导致: 你确定在你的 App.config 或 Web.config 中有这样的部分吗?:

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

我在使用 MySql 时还必须添加以下代码,不知道为什么,因为我在使用 SQL Server 时不需要添加... [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] public class DemoContext : DbContext{}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-11-25
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-29
  • 2011-11-16
相关资源
最近更新 更多