我试图使用实体框架与MySQL和我得到上述错误。我有最新的MySQL连接器安装。没有实体框架提供发现“MySql.Data.MySqlClient” ADO.NET提供
完整的错误读取:
No Entity Framework provider found for 'MySql.Data.MySqlClient' ADO.NET provider. Make sure the provider is registered in the 'entityFramework' section of the application config file.
但是,我找不到任何表明您是如何在“的EntityFramework”部分进行注册。
一些其他职位(example)建议增加提供给system.Data
DbProviderFactories
部分是这样的:
<DbProviderFactories>
<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.2.3.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
但是,这并不工作,因为它声称,invariant
名称重复。而且,如果我真的通过迭代System.Data.Common.DbProviderFactories
我可以看到最后一个是MySQL提供商:
MySQL Data Provider
.Net Framework Data Provider for MySQL
MySql.Data.MySqlClient
MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d
所以提供商是存在的,但EF拒绝使用它。有任何想法吗?
我的全配置是这样的:
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<system.data>
<!--<DbProviderFactories>
<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.2.3.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>-->
</system.data>
<connectionStrings>
<add name="myContext" connectionString="server=****;User Id=****;password=****;Persist Security Info=True;database=myDb"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
</configuration>
我试图做同样的事情,并不能得到正确的app.config使用... .Net 4.5和EF 5 ..在你的''部分中,你仍然有''指向默认的'LocalDbCon nectionFactory'。你在哪里指向'MySql' db? –
2013-05-07 02:43:43
我不知道如何卸载EF6和使用其他东西可以标记为这个问题的正确答案。 – spryce 2013-11-01 03:17:30
@spryce:这是我的问题和我的答案。它使它工作。当时EF 5是稳定的版本,但不知何故,我结束了EF 6。 – 2013-11-01 13:26:51