首先,.net应该自带Entity Framework,所以服务器只要有对应版本的.net Framework就OK!
我们在开发环境中一般会直接使用edmx来管理应用程序与数据库的交互操作,所有与数据库相关的操作均交给EF来操作,开发人员会将关注点移到应用层,更多关心程序业务方面的开发。我们知道,VS默认只提供了部分数据库对应的驱动程序,如SQL Server,Excel,Access,Oracle等,MySql没有对应的驱动程序。那么,在Visual Studio中开发基于MySql数据库的ASP.NET应用程序前,下面这些工具或程序集是需要的。
1. MySql Connector - 提供MySql数据库的驱动程序。
安装包可以在MySql官网上找到http://dev.mysql.com/downloads/connector/net/6.0.html
这里有一篇文章描述了一些基本用法http://www.cnblogs.com/wintersun/archive/2010/12/12/1903861.html
有了驱动程序之后,Entity Framework便可以使用对应的Provider连接上MySql数据库,然后自动生成对应的实体类和数据库操作的方法。
2. MySql for Visual Studio - 可选。该工具提供对Visual Studio的扩展。还记得我们如何在VS中连接SQL Server数据库然后直接对其中的表、存储过程等对象进行修改么?有了MySql for Visual Studio这个工具之后,你就可以在VS中连接MySql数据库并随时查看其中的数据、表等各种对象,并可以进行修改。官方站点有提供下载http://www.mysql.com/why-mysql/windows/visualstudio/
3. MySql Front - 可选。一个MySql数据库开发的客户端工具,支持可视化的操作界面,使得对MySql数据库的各种操作变得容易。这里是下载的地址http://www.mysqlfront.de/。当然,你可以使用任何一个你熟悉的客户端工具。
好了!你现在已经拥有开发环境的所有必备项,在本机你可以像开发普通的数据库应用程序一样开始编写代码,因为有EF的支持,对数据库的操作非常简单!有关Entity Framework的一些基本用法和介绍,可以查看这里http://www.entityframeworktutorial.net/EntityFramework-Architecture.aspx
不过在服务器端,情况稍微有点不同!有时候我们不可能在服务器上直接安装MySql Connector,发布在服务器上的程序由于缺少MySql对应的数据库驱动程序而通常会报unable to find the requested .Net Framework Data Provider的错误。如何解决这个问题呢?其实,MySql Connector的安装也不过是在本机注册了几个.net程序集而已,我们将其中用到的程序集直接引用到工程里,然后将其设置为Copy Local = true即可。下面三个程序集是必须的:
你可以从本机已安装的Assembly文件夹中找到它们,下面是从我本地找到的对应程序集文件夹地址。
展开References文件夹,找到对应的程序集,右键单击选择属性,然后将Copy Local改成True。然后,记住还需要在Web.config中添加下面的内容,本机开发的时候你可能不需要这些设置项,所以在开发环境中你可以将它们注释掉。
<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.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </DbProviderFactories> </system.data>
确保服务器上安装的.net Framework已包含你所使用的Entify Framework版本,然后程序应该能正常运行。
相关资源:
Using MySQL with Entity Framework and ASP.NET MVC – Part I
Using MySQL with Entity Framework