Nbear使用Gateway访问数据库


【IT168技术文档】    NBear的持久化组件提供类似Linq的强类型查询语法,支持主外键关联、继承关联、多对多关联、级联更新、联结、分组、分页查询等,对应90%以上的常用SQL查询语法。

并提供对内存数组的强类型查询过滤、查询缓存、对自定义SQL和存储过程的强类型查询封装等功能。

    初始化Gateway

    方法一,使用默认数据库。

   什么是默认数据库呢?默认数据库就是定义于配置文件中的ConnectionString块的最后一个ConnectionString对应的数据库。以上一页的示例代码为例,默认数据库就是Northwind这个ConnectionString。特别的,当您的配置文件只定义了一个ConnectionString的时候,这个ConnectionString对应的数据库自然就是默认数据库。

    NBear在初始化时,会自动初始化一个默认数据库的Gateway实例,可以直接通过Gateway.Default属性访问。因此,此时,您可以直接使用这个Gateway实例也无需额外的初始化工作了。

    例如,您可以直接使用下面的代码返回Northwind数据库中的所有Categories:

Categories[] objs =  Gateway.Default.SelectAll<Categories>();

    另外,您还可以调用Gateway.SetDefaultDatabase()方法来改变默认的Gateway。SetDefaultDatabase()包含多个重载版本,因为每个版本实际上对应了Gateway的构造函数的重载版本,这里就不重复列举使用方法了。简单的说,它可以像Gateway的构造函数一样(如下面的方法二和方法三)初始化Gateway并设置为默认Gateway。

    方法二,使用ConnectionStringName初始化Gateway。

    第二种方法是最典型也是比较推荐的初始化Gateway的方法,很多时候,我们需要连接不止一个数据库,您可以使用配置文件中的ConnectionString的name属性对应的名称来初始化Gateway。

    例如,下面的代码分别为上一页的实例配置文件中的TestAccessDb和Northwind数据库初始化Gateway:

public static Gateway Northwind = new Gateway("Northwind");
public static Gateway TestAccessDb = new Gateway("TestAccessDb");

    这样初始化Gateway之后,我们就能方便的使用了,例如,同样查询Northwind数据库中的所有Categories:

Categories[] objs =  Northwind.SelectAll<Categories>();

    方法三,使用硬编码方式初始化Gateway。

    如果您不将ConnectionString定义于应用程序的配置文件中,那么,就需要直接提供ConnectionString来初始化了。下面是几个典型的初始化示例:

Gateway TestDbAccess = new Gateway(DatabaseType.MsAccess, @"C:\Teddy\NBear\skeleton\Simple\website\App_Data\TestAccessDb.mdb");
Gateway Northwind = new Gateway(DatabaseType.SqlServer, @"Server=(local);Database=Northwind;Uid=sa;Pwd=sa");
Gateway Northwind2 = new Gateway(DatabaseType.SqlServer9, @"Server=(local)\SQLEXPRESS;Database=Northwind;Uid=sa;Pwd=sa");
Gateway.Default = new Gateway(DatabaseType.MySql, "Dsn=mysqltest;database=test;option=3;server=localhost;uid=root;password=sa");
Gateway.Default = new Gateway(DatabaseType.Oracle, "Data Source=localhost;User ID=system;Password=sa;Unicode=True");


    注意以上的代码使用了Gateway构造函数的另一个重载版本,接受一个DatabaseType参数和一个ConnectionString。这五行示例分别实例化了对应于MS

    Access、MS SQL Server 2000、MS SQL Server 2005、MySql和Oracle的数据库的Gateway。

    我们同样可以调用接受同样的参数列表的Gateway.SetDefaultDatabase()方法来设置当前的可以直接通过Gateway.Default属性访问的默认数据库

本文作者:



相关阅读:
AJAX实例入门
php生成随机密码的三种方法小结
在Microsoft Windows XP中使用NetMeeting
Javascript 获取字符串字节数的多种方法
CSS经验:ul列表不正确使用的趋势
理解PHP5中static和const关键字的区别
WEB标准学习经验总结
Oracle表空间状态经验分享
线路分流自动跳转代码;希望对大家有用!
javascript 可以拖动的DIV(二)
树型结构列出指定目录里所有文件的PHP类
php5 apache 2.2 webservice 创建与配置(java)
php中的一个中文字符串截取函数
js中将多个语句写成一个语句的两种方法小结
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4