在查询没有设置查询字段,组件默认是返回所有字段信息,即select * from table
那在查询中如何设置需要返回的字段信息呢?
在之前几节中的例子已经存在设置查询字段,是通过 select方法来设置的。
先上例子:
DbSession.Default.From<Products>()
.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<Products>()
.Select(Products._.ProductID, Products._.ProductName.As("pname"))
.ToDataTable();
通过字段的as方法来设置。
生成的sql
Text:
SELECT [Products].[ProductID],[Products].[ProductName] AS [pname] FROM [Products]
是不是很简单的啊。
其实 Products._.ProductID 是一个Field类,表示字段信息。
Field也提供了一些简单的辅助方法。
方法 | sql |
Field.Count() | count 记录数 |
Field.Sum() | sum 合计 |
Field.Avg() | avg 平均值 |
Field.Len() | len 长度 |
Field.Trim() | 去掉左右空格 |
Field.Max() | 最大值 |
Field.Min() | 最小值 |
Field.Left(int length) | 从左边开始截取相应长度内容 |
Field.Right(int length) | 从右边开始截取相应长度内容 |
Field.Substring(int startIndex, int endIndex) | 截取相应的范围内的字段内容 |
时间: 2024-11-01 15:37:11