数据库组件 Hxj.Data (十六) (查询的字段)

30 篇文章 0 订阅
30 篇文章 0 订阅

在查询没有设置查询字段,组件默认是返回所有字段信息,即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)截取相应的范围内的字段内容

还是上例子吧

DbSession.Default.From<Products>()
               .Select(Products._.UnitPrice.Max())
               .ToScalar();
这里是查询products表中最大的unitprice.
生成的sql
Text: 
SELECT max([Products].[UnitPrice]) AS [UnitPrice] FROM [Products]
其他方法都是类似就不再一一举例了。
 
 
有时候我们需要两个字段加减乘除,比如单价乘以数量出来总价。
先来个例子:
DbSession.Default.From<Order_Details>()
                .Select((Order_Details._.UnitPrice * Order_Details._.Quantity).As("totalprice"))
                .Top(10)
                .ToDataTable();

生成的sql如下:

Text: 
SELECT TOP 10 [Order Details].[UnitPrice] * [Order Details].[Quantity] AS [totalprice] FROM [Order Details]
组件重载了 Field 的  + – * / 这四个操作符。
分别代表了加、减、乘、除
 
 
下一节将讲述事务。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值