MicroOrm.Net(5) Table.Query() - Select
MicroOrm.Net主頁:
http://code.google.com/p/micro-orm-net/
MicroOrm.Net系列隨便目錄總覽:
http://www.rzrgm.cn/mapserver/archive/2012/04/07/2436129.html
本文我們來演示MicroOrm.Net查詢的Select部分,請看Select方法的api文檔:
Query Select(params MathE[] maths) Query Select(params Column[] columns)
Select方法支持兩種類型的參數(shù),一種是Column的集合,一種是MathE(計算式)的集合。
我們先來看參數(shù)為Column集合的實例:
db.OrderDetail.Query()
.Select(db.OrderDetail.OrderId, db.OrderDetail.Qty)
Select的Column也支持別名:
db.OrderDetail.Query()
.Select(db.OrderDetail.OrderId.As("Oid"), db.OrderDetail.Qty)
Select的Column也支持運算,如我們想給查詢結(jié)果的OrderId加一個"_Order"字符串后綴,對Qty的值加1:
db.OrderDetail.Query()
.Select(db.OrderDetail.OrderId + "_Order", (db.OrderDetail.Qty + 1).As("Q"))
但是如果我想給查詢結(jié)果的OrderId加一個"Order_"字符串前綴呢?
db.OrderDetail.Query()
.Select("Order_" + db.OrderDetail.OrderId)
上面的代碼將會出錯,.Net無法把Select的參數(shù) "Order_" + db.OrderDetail.OrderId 轉(zhuǎn)換為Column或者M(jìn)athE。
因此我們將會利用Select的另外一個方法來實現(xiàn):
db.OrderDetail.Query()
.Select(new MathE("Order_", db.OrderDetail.OrderId, MathOperator.Add))
同理MathE也支持別名:
db.OrderDetail.Query()
.Select((new MathE("Order_", db.OrderDetail.OrderId, MathOperator.Add)).As("Oid"))
當(dāng)Select的時候,既有Column,也有MathE的時候,我們可以分多個Select來處理:
db.OrderDetail.Query()
.Select((new MathE("Order_", db.OrderDetail.OrderId, MathOperator.Add)).As("Oid"))
.Select(db.OrderDetail.Qty)
Select還支持更多功能,如聚合函數(shù),我們將在后面的文章中進(jìn)行詳細(xì)講解。
浙公網(wǎng)安備 33010602011771號