排序在查询中设置的方法就是OrderBy( ) 如果多个字段排序则如下操作:
DbSession.Default.From
.OrderBy(Products._.CategoryID.Asc && Products._.ProductID.Asc) .ToList(); 生成的sql
Text:
SELECT * FROM [Products] ORDER BY [Products].[CategoryID] ASC,[Products].[ProductID] ASC
分组
通过方法GroupBy来设置按照哪些字段分组。 例如:
DbSession.Default.From
.GroupBy(Products._.ProductName.GroupBy) .Select(Products._.ProductName) .ToDataTable(); 生成的sql:
Text:
SELECT [Products].[ProductName] FROM [Products] GROUP BY [Products].[ProductName]
按照多个字段分组和多个排序类似。
DbSession.Default.From
.GroupBy(Products._.ProductName.GroupBy && Products._.ProductID.GroupBy)
.Select(Products._.ProductName,Products._.ProductID) .ToDataTable(); sql:
Text:
SELECT [Products].[ProductName],[Products].[ProductID] FROM [Products] GROUP BY [Products].[ProductName],[Products].[ProductID]
排序和分组都变得简单了。 下一节将讲述Field。
33
数据库组件 Hxj.Data (十六) (查询的字段)
在查询没有设置查询字段,组件默认是返回所有字段信息,即select * from table
那在查询中如何设置需要返回的字段信息呢?
在之前几节中的例子已经存在设置查询字段,是通过 select方法来设置的。 先上例子:
DbSession.Default.From
.Select(Products._.ProductID, Products._.ProductName) .ToDataTable();
这里是设置查询只返回productid和productname两个字段。 生成的sql:
Text:
SELECT [Products].[ProductID],[Products].[ProductName] FROM [Products]
有时候我们需要设置这个字段的别名,如select productname as pname from products
别名的设置也是非常简单的。
DbSession.Default.From