惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cloudbric
Cloudbric
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
量子位
A
About on SuperTechFans
宝玉的分享
宝玉的分享
小众软件
小众软件
T
Tor Project blog
The Hacker News
The Hacker News
WordPress大学
WordPress大学
IT之家
IT之家
L
LINUX DO - 热门话题
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
NISL@THU
NISL@THU
D
Darknet – Hacking Tools, Hacker News & Cyber Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Latest news
Latest news
Martin Fowler
Martin Fowler
F
Full Disclosure
爱范儿
爱范儿
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
W
WeLiveSecurity
C
Cisco Blogs
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - Franky
美团技术团队
N
Netflix TechBlog - Medium
Know Your Adversary
Know Your Adversary
Hacker News - Newest:
Hacker News - Newest: "LLM"
H
Help Net Security
雷峰网
雷峰网
G
Google Developers Blog
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
Security Latest
Security Latest
M
MIT News - Artificial intelligence
J
Java Code Geeks
Project Zero
Project Zero
Jina AI
Jina AI
P
Palo Alto Networks Blog
Vercel News
Vercel News
腾讯CDC
N
News | PayPal Newsroom
V
Visual Studio Blog
Cisco Talos Blog
Cisco Talos Blog
V
Vulnerabilities – Threatpost
AWS News Blog
AWS News Blog

博客园 - mapserver

MicroOrm.Net和现有ORM产品的对比 MicroOrm.Net(8) Table.Query() - Distinct、Skip & Take MicroOrm.Net(7) Table.Query() - Group By & Having MicroOrm.Net(6) Table.Query() - Join & Order By MicroOrm.Net(4) Table.Query() - Where MicroOrm.Net(3) Database、Table、Column、Expression、Math&MathE MicroOrm.Net(2) 基础及动态特性 MicroOrm.Net(1) 总览 Asp.net服务器控件编程(6) ViewState(二)——ViewState用法和IStateManager Asp.net服务器控件编程(5) 复杂属性 Asp.net服务器控件编程(4) 呈现 Asp.net服务器控件编程(3) ViewState(一)——asp.net控件的精华之一 Asp.net服务器控件编程(2) 来做个热身运动吧 Asp.net服务器控件编程(1) 开篇、基础 Asp.net服务器控件编程 总览 TextDataSource(3) — 请把我的数据更新回去 TextDataSource(2) — 翠花,上“数据” TextDataSource(1) — DataSourceControl内幕 .NET组件编程(10) 补充 ISupportInitialize
MicroOrm.Net(5) Table.Query() - Select
mapserver · 2012-04-11 · via 博客园 - mapserver

MicroOrm.Net主页:

http://code.google.com/p/micro-orm-net/

MicroOrm.Net系列随便目录总览:

http://www.cnblogs.com/mapserver/archive/2012/04/07/2436129.html

本文我们来演示MicroOrm.Net查询的Select部分,请看Select方法的api文档:

Query Select(params MathE[] maths)
Query Select(params Column[] columns)

Select方法支持两种类型的参数,一种是Column的集合,一种是MathE(计算式)的集合。

我们先来看参数为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也支持运算,如我们想给查询结果的OrderId加一个"_Order"字符串后缀,对Qty的值加1:

db.OrderDetail.Query()
        .Select(db.OrderDetail.OrderId + "_Order", (db.OrderDetail.Qty + 1).As("Q"))

但是如果我想给查询结果的OrderId加一个"Order_"字符串前缀呢?

db.OrderDetail.Query()
        .Select("Order_" + db.OrderDetail.OrderId)

上面的代码将会出错,.Net无法把Select的参数 "Order_" + db.OrderDetail.OrderId 转换为Column或者MathE。           

因此我们将会利用Select的另外一个方法来实现:

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"))

当Select的时候,既有Column,也有MathE的时候,我们可以分多个Select来处理:

db.OrderDetail.Query()
        .Select((new MathE("Order_", db.OrderDetail.OrderId, MathOperator.Add)).As("Oid"))
	.Select(db.OrderDetail.Qty)

Select还支持更多功能,如聚合函数,我们将在后面的文章中进行详细讲解。