Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用MySql.Data 6.7.2.0连接器注册entityFramework_Asp.net_Asp.net Mvc_Mono_Entity Framework 6_Mysql.data - Fatal编程技术网

Asp.net 使用MySql.Data 6.7.2.0连接器注册entityFramework

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

我尝试将我的web项目配置为使用MySQL预发布的.net connectors版本6.7.2.0。但是,即使我尽最大努力将我的项目配置为使用6.7.2.0版本的连接器,我也会不断收到此消息

现在,我不断收到以下错误消息:

未找到“MySql.Data.MySqlClient”ADO.NET提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分注册。有关更多信息,请参阅

我尝试了不同的方法来配置Web.config文件,以下是我当前的设置:

  <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的回答也修复了该错误。