当前位置:编程学习 > C#/ASP.NET >>

Entity Framework 能否用mysql?

Entity Framework 能否用mysql?

看到的例子都是sqlserver,mysql能用? --------------------编程问答-------------------- --------------------编程问答-------------------- 本身不支持,但听说有第三方组件可以:http://www.mysql.com/downloads/connector/net --------------------编程问答-------------------- 看这篇文章:http://weblogs.asp.net/gunnarpeipman/archive/2010/12/09/getting-mysql-work-with-entity-framework-4-0.aspx --------------------编程问答-------------------- mysql-connector-net的确可以被用在EF中,实际上是这个插件为EF提供了一个MySQL Provider,这样就可以在EDMX模型的UI界面中映射或设计数据库。

但是有个问题是部署的时候,制作安装包时无论包含或注册哪些和mysql相关的dll或注册信息,貌似都不起作用,比如安装mysql-connector-net产生的MySQL.Data.dll这类的dll,都不起作用,网上相关解决方案很少,而且大部分都是E文,看不懂,最后索性把mysql-connector-net.msi打到安装包里,安装项目前先把它装了,才好用。
以上是我上一个项目实际遇到的情况。
--------------------编程问答-------------------- 吴老大提供的博文里好像也没提部署的事儿。。 --------------------编程问答-------------------- 官方好像支持了 --------------------编程问答-------------------- 我的项目里使用 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>
--------------------编程问答-------------------- 还有一点很重要的是,一定要将两个程序集文件 MySql.Data.dll 和 MySql.Data.Entity.dll 拷贝到你项目的bin目录下。当然如果你已经安装到服务器或客户机的GAC里了,bin目录里的这俩文件就可有可无了。 --------------------编程问答-------------------- 感谢,留下备用。 --------------------编程问答-------------------- 可以支持吧,装一下相关数据库驱动就行了 --------------------编程问答-------------------- 提示
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.
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,