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属性访问的默认数据库

本文作者:

【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属性访问的默认数据库

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3