繁体   English   中英

实体框架Powertools使用Mysql和EF6生成视图

[英]Entity Framework Powertools Generating Views with Mysql and EF6

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

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

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

我理解了要问的问题,因为我最初在运行项目时遇到了这个问题,但是尽管在运行并编译generate views函数时它可以正常工作,但会引发此错误。 我只能假定Power工具在其他位置查找提供程序,而不是在我的应用程序配置文件中查找,因为它们已经注册了。

是否有人对从哪里获得供应商列表有任何想法,也许是从全局系统配置文件中获得的? 我对此并没有真正的经验,经过几个小时的搜索后,结果还是一无所有。

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

第一个原因,请尝试使用较低版本的Entity Framework。 当我使用MySql时,EF6目前不支持Mysql。 如果您有连接器6.8.x,现在显然适用于6.0,但我仍然不确定6.1。 您可以在此处查看信息: EF6.0连接器

可能导致以下几种原因:您确定在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{}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM