VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > SQL教程 >
  • 数据库组件 Hxj.Data (三)(查询操作篇)

Hxj.Data使用入口在Hxj.Data.DbSession,DbSession类封装常用的操作,比如:From<T>,Insert<T>,Update<T>,Delete<T>等常用方法。

DbSession.Default是一个默认的DbSession。在默认情况下会自动读取web.config/app.config配置文件中connectionStrings节点的最后一个配置。

可以通过条用DbSession的SetDefault方法来修改这个Default。

 

不同的数据库可构造不同的DbSession,如:

DbSession dbSessionDefault = new DbSession("NorthwindConnectionString");
DbSession dbSessionDefault2 = new DbSession(DatabaseType.SqlServer, "Data Source=ricci\hu;Initial Catalog=Northwind;Integrated Security=True");
("NorthwindConnectionString”是connectionStrings节点的name)
 
确定好需要使用的DbSession后,就可以配合实体工具生成的实体类开始数据库操作了。
 
 
下面例子使用DbSession.Default,以及Northwind数据库。
From<T>()的方法使用,这个是查询操作。
 
查询Products表中第一条数据并返回实体,代码如下。
Products product = DbSession.Default.From<Products>().ToFirst();
 
接下来我们来加个条件。
List<Products> products= DbSession.Default.From<Products>().Where(Products._.CategoryID == 2).ToList();
当然也可以ToDataTable()返回DataTable,
ToDataSet()返回DataSet,
ToDataReader()返回IDataReader。
 

其实DbSession.Default.From<Products>()就是构造一个FromSection<Products>,也就是查询的条件,查询的字段,排序,分页等都是FromSection提供的。

示例:


		

DbSession.Default.From<Products>() //.Select(Products._.ProductID) //查询返回ProductID字段 //.GroupBy(Products._.CategoryID.GroupBy && Products._.ProductName.GroupBy)//按照CategoryID,ProductName分组 //.InnerJoin<Suppliers>(Suppliers._.SupplierID == Products._.SupplierID)//关联Suppliers表 --CrossJoin   FullJoin  LeftJoin  RightJoin 同理 //.OrderBy(Products._.ProductID.Asc)//按照ProductID正序排序 //.Where((Products._.ProductName.Contain("apple") && Products._.UnitPrice > 1) || Products._.CategoryID == 2)//设置条件ProductName包含”apple”并且UnitPrice>1 或者CategoryID =2 //.UnionAll(DbSession.Default.From<Products>().Select(Products._.ProductID))//union all查询 //.Distinct() // Distinct //.Top(5) //读取前5条 //.Page(10, 2)//分页返回结果 每页10条返回第2页数据 //.ToDataSet(); //返回DataSet //.ToDataReader(); //返回IDataReader //.ToDataTable(); //返回DataTable //.ToScalar(); //返回单个值 .ToList(); //返回实体列表

看方法后面的注释也差不多都应该明白了吧。
 
普通的查询都可以构造出来了,当然太复杂的报表还是手写sql或者存储过程等去实现吧。

 

下一节讲Insert<T>方法的使用。

 

作者:steven hu 出处:http://www.cnblogs.com/huxj


相关教程