Linq to MySql环境的配置

NET3.5框架提供的Linq可以对多种数据源和对象进行查询,如数据库、数据集、XML文档甚至是数组。而

对数据库操作,Linq只是默认对SqlServer支持(Linq to Sql),对于其他数据库不会默认支持,需要自己

进行复杂的配置。由于最近项目需求要用到Linq to MySql,要求Linq操作MySql数据库!所以配置了很久

才配置成功Linq to MySql环境!具体如下:

一、工具:

DbLinq-0.20.1 下载地址:http://code.google.com/p/dblinq2007/

MySql 5.1.x,编程主机需要安装MySql

VS2008

二、生成C#语言的.cs文件

首先将下载好的DbLinq-0.20.1解压到D盘(个人习惯),在开始编译.cs文件之前要确保DbLinq-0.20.1文件

目录下有MySql.Data.dll文件,如果你下载的是DbLinq-0.20.1这个版本,那么这里就没有

MySql.Data.dll这个MySql数据支持文件,你可以到

http://code.google.com/p/dblinq2007/downloads/list里下载DbLinq-0.20.1-src.zip ,解压这个文件

!这是DbLinq官方提供的链接各种数据库的案例!在lib文件夹下我们可以找到MySql.Data.dll文件,将

这个文件拷贝到DbLinq-0.20.1的目录下,然后我们可以开始用DbLinq-0.20.1里的DbMetal.exe文件编译

操作MySql数据库的.cs文件了

打开DOS命令窗口,进入到DbLinq-0.20.1解压目录。然后输入

DbMetal.exe -provider=MySql -database:ownhome -server:localhost -user:root -password:123456

-namespace:MySqlDAL -code:mysqllinq.cs -sprocs
回车!

如果不出问题的话,将会在DbLinq-0.20.1解压目录下生成mysqllinq.cs文件,用来操作MySql数据库的文

件!

大概解释一下:命令中的provider,表示需要编译的驱动,例如SqlServer,FireBird等,databas表示在

MySql数据库中需要操作的数据库名称,我测试用的数据库名称叫ownhome,server表示编译主机,为本机

localhost,user表示访问MySql数据库的用户名,我用的是root,password表示访问MySql数据库所用的

密码,我的是123456。namespace表示生成.cs文件的命名空间,这个按照自己项目需求来定!code表示要

生成的.cs的文件名称。

三、在VS2008里新建项目

在VS2008里添加网站项目,并且在网站项目中添加一个文件夹叫MySqlSource(个人习惯),将DbLinq-

0.20.1目录下的DbLinq.dll、DbLinq.MySql.dll、MySql.Data.dll这三个库文件拷贝到MySqlSource目录

下。在同一个解决方案下添加一个类库项目叫MySqlDAL,将刚才生成好的mysqllinq.cs文件拷贝到

MySqlDAL类库项目中,在网站中添加对MySqlDAL类库项目的引用!添加对MySql.Data.dll的引用,在

MySqlDAL类库项目中也添加对DbLinq.dll、DbLinq.MySql.dll、MySql.Data.dll这三个文件的引用,以及

对系统System.Data.Linq的应用!

四、测试

在刚才所建的网站中添加一个Web页面,从工具箱中拖一个GridView控件到该页面中,添加页面命名空间

的引用,

using MySql.Data;
using MySql.Data.MySqlClient;
using MySqlDAL;

在页面加载事件里写
if(!IsPostBack)
{
 string connStr =

@"server=localhost;database=ownhome;user=root;pwd=123456;port=3306";
 MySqlConnection conn = new MySqlConnection(connStr);
        OwnHome o = new OwnHome(conn);
        var data = from f in o.Users select f;
        GridView1.DataSource = data;
        GridView1.DataBind();
}
然后保存,运行页面,如果不出问题,那么GridView将会显示MySql数据库中ownhome数据库的Users表的

数据内容

这个测试时基于Linq to MySql的查询实现的,向数据库里添加,修改,删除数据操作与Linq to Sql的操作基本上一致,所以在这里不再举

例!

posted on 2012-07-06 11:27  HOT SUMMER  阅读(9472)  评论(1编辑  收藏  举报

导航