Linq to FireBird环境的配置

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

SqlServer支持(Linq to Sql),对于其他数据库不会默认支持,需要自己进行复杂的配置。由于最近项目需求要用到Linq to FireBird,要求

Linq操作FireBird数据库!所以配置了很久才配置成功Linq to FireBird环境!用过FireBird的朋友应该知道,firebird是一个全功能的,强

大高效的,轻量级,免维护的数据库。它很容易让您从单用户,单数据库升级到企业级的应用。 给中小型企业提供了一个很好的工具,一些需

要小的数据库的软件!废话不多说,具体配置如下:

一、工具:

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

FireBird2.1.3,编程主机需要安装FireBird 官网:http://www.firebirdsql.org/

VS2008

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

首先将下载好的DbLinq-0.20.1解压到D盘(个人习惯),在开始编译.cs文件之前要确保DbLinq-0.20.1目录下有FirebirdSql.Data.FirebirdClient.dll文件,如果你下载的是DbLinq-0.20.1这个版本,那么这里就没有

FirebirdSql.Data.FirebirdClient.dll这个FireBird数据支持文件,你可以到http://code.google.com/p/dblinq2007/downloads/list里下载

DbLinq-0.20.1-src.zip ,解压这个文件!这是DbLinq官方提供的链接各种数据库的案例!在lib文件夹下我们可以找到

FirebirdSql.Data.FirebirdClient.dll文件,将这个文件拷贝到DbLinq-0.20.1的目录下,然后我们可以开始用DbLinq-0.20.1里的

DbMetal.exe文件编译操作FireBird数据库的.cs文件了

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

DbMetal.exe -provider=FireBird -database:D:/OWNHOME.FDB -server:localhost -user:sysdba -password:masterkey -

namespace:FireBirdDAL -code:FireBirdLinq.cs -sprocs
回车!

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

大概解释一下:命令中的provider,表示需要编译的驱动,例如SqlServer,MySql等,database表示在MySql数据库中需要操作的数据库名称,我

测试用的数据库名称叫OWNHOME.FDB(这里必须是数据库文件名称和所在的物理路径),server表示编译主机,为本机localhost,user表示访问

FireBird数据库的用户名,我用的是sysdba,password表示访问FireBird数据库所用的密码,我用的是FireBird默认密码masterkey。

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

三、在VS2008里新建项目

在VS2008里添加网站项目,并且在网站项目中添加一个文件夹叫FireBirdSource(个人习惯),将DbLinq-0.20.1目录下的DbLinq.dll、

DbLinq.Firebird.dll、FirebirdSql.Data.FirebirdClient.dll这三个库文件拷贝到FireBirdSource目录下。在同一个解决方案下添加一个类

库项目叫FireBirdDAL,将刚才生成好的FireBirdLinq.cs文件拷贝到FireBirdDAL类库项目中,在网站中添加对FireBirdDAL类库项目的引用!

添加对FirebirdSql.Data.FirebirdClient.dll的引用,在FireBirdDAL类库项目中也添加对DbLinq.dll、DbLinq.Firebird.dll、

FirebirdSql.Data.FirebirdClient.dll这三个文件的引用,以及对系统System.Data.Linq的应用!

四、测试

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

using FirebirdSql.Data;
using FirebirdSql.Data.FirebirdClient;
using FireBirdDAL;

在页面加载事件里写
if(!IsPostBack)
{
 string connStr = @"User=SYSDBA;Password=masterkey;Database=|DataDirectory|/OWNHOME.FDB;ServerType = 0";
        FbConnection fbCon = new FbConnection(conStr);
        OwnHome ownhome = new OwnHome(fbCon);
        var linq = from o in ownhome.ArticleType select o;
        this.GridView1.DataSource = linq;
        this.GridView1.DataBind();
}
简单解释下FireBird连接字符串中ServerType的相关问题,用过FireBird数据库的用户基本上都知道FireBird是小型的嵌入式数据库,也就是

说可以像微软的Access一样是桌面数据库,也可以是普通的服务器模式连接的数据库,这个取决于ServerType所配置的值,共有2个值可选,0

表示普通模式,也就是通过FireBird服务器来连接,1表示嵌入式数据库模式连接,也就是不需要FireBird服务器,直接连接.FDB数据库文件。

由于当前我写的测试代码是基于ASP.NET网站的测试,所以我选择了普通模式去连接FireBird.

然后保存,运行页面,如果不出问题,那么GridView将会显示FireBird数据库中ownhome数据库的Users表的数据内容

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

例!


 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值