Asp.net 使用MySql.Data 6.7.2.0连接器注册entityFramework
我尝试将我的web项目配置为使用MySQL预发布的.net connectors版本6.7.2.0。但是,即使我尽最大努力将我的项目配置为使用6.7.2.0版本的连接器,我也会不断收到此消息 现在,我不断收到以下错误消息: 未找到“MySql.Data.MySqlClient”ADO.NET提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分注册。有关更多信息,请参阅 我尝试了不同的方法来配置Web.config文件,以下是我当前的设置:Asp.net 使用MySql.Data 6.7.2.0连接器注册entityFramework,asp.net,asp.net-mvc,mono,entity-framework-6,mysql.data,Asp.net,Asp.net Mvc,Mono,Entity Framework 6,Mysql.data,我尝试将我的web项目配置为使用MySQL预发布的.net connectors版本6.7.2.0。但是,即使我尽最大努力将我的项目配置为使用6.7.2.0版本的连接器,我也会不断收到此消息 现在,我不断收到以下错误消息: 未找到“MySql.Data.MySqlClient”ADO.NET提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分注册。有关更多信息,请参阅 我尝试了不同的方法来配置Web.config文件,以下是我当前的设置: &l
<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=6.7.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
<entityFramework>
<defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
</entityFramework>
,我尝试从NuGet repository安装它,但结果完全相同。除了注册ADO.NET提供程序外,还需要注册实体框架提供程序:
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity" />
</providers>
</entityFramework>
您还需要确保提供程序是根据EntityFramework6构建的。有关这方面的更多信息,请参阅。我也有类似的问题。在回到EF5和MySql Connector 5.6之后,它仍然不起作用,我终于找到了一个提要,其中有人提到,为了让它工作,他们必须删除版本和区域性引用。不知道为什么。在这里:
<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, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
<entityFramework>
<defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
我的建议是不要将EF与Mono一起使用。如果您需要Mono中的ORM,请使用Linux中完全支持的NHibernate。通常关于在Mono中运行MVC的建议是删除实体框架DLLBE,因为从EF6版本开始,EF将在Mono中得到支持,我真的希望坚持实体框架。但是,我收到的错误消息是在我的Windows环境中。我有一个错误,消息与OP的非常相似。(我的是没有为ADO.NET提供程序找到具有固定名称“MySql.Data.MySqlClient”的实体框架提供程序。
)@bricelam的回答也修复了该错误。