本身不支持,但听说有第三方组件可以:http://www.mysql.com/downloads/connector/net

解决方案 »

  1.   

    看这篇文章:http://weblogs.asp.net/gunnarpeipman/archive/2010/12/09/getting-mysql-work-with-entity-framework-4-0.aspx
      

  2.   

    mysql-connector-net的确可以被用在EF中,实际上是这个插件为EF提供了一个MySQL Provider,这样就可以在EDMX模型的UI界面中映射或设计数据库。但是有个问题是部署的时候,制作安装包时无论包含或注册哪些和mysql相关的dll或注册信息,貌似都不起作用,比如安装mysql-connector-net产生的MySQL.Data.dll这类的dll,都不起作用,网上相关解决方案很少,而且大部分都是E文,看不懂,最后索性把mysql-connector-net.msi打到安装包里,安装项目前先把它装了,才好用。
    以上是我上一个项目实际遇到的情况。
      

  3.   

    我的项目里使用 Code First 没问题,使用的是Oracle官方的驱动 MySql Connector.Net 6.5.4
    顺便附上Web.config供你参考吧:
    <add name="MySqlConnectionString" connectionString="Server=<服务器名或IP>;Port=<服务端口,默认3306>;SqlServerMode=true;User Id=<用户名>;Password=<密码>;Database=<你的数据库名>;CharSet=utf8" providerName="MySql.Data.MySqlClient" />
      </connectionStrings><system.data>
        <DbProviderFactories>
          <remove invariant="MySql.Data.MySqlClient" />
          <!--注册 MySQL 提供程序-->
          <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description="MySQL Data Provider for .Net" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
        </DbProviderFactories>
      </system.data>
      

  4.   

    还有一点很重要的是,一定要将两个程序集文件 MySql.Data.dll 和 MySql.Data.Entity.dll 拷贝到你项目的bin目录下。当然如果你已经安装到服务器或客户机的GAC里了,bin目录里的这俩文件就可有可无了。
      

  5.   

    提示
    No Entity Framework provider found for the ADO.NET provider with invariant name 'MySql.Data.MySqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file.