学习LinQ(一)
程序员文章站
2022-07-04 09:09:40
...
from子句
from type item in item
where子句
from type item in item
where item.id==1
Join级联
from s in students
join c in courses on s.stId equals c.stId
注意和sql的差别不是== 而是equals
let子句
let子句接受一个表达式的运算并且把它赋值给一个需要在其他运算中使用的标识符,它是from…let…where片段中的一部分
var query = from a in groupA
from b in groupB
let sum = a + b
where sum < 12
select new(a,b,sum);
orderby子句
语法: orderby Expression ascending or descending 二选一 默认ascending
var query = from s in students
join c in courses on s.stId equals c.stId
where c.courseName == "history"
orderby s.stuName //排序
select s.stuName;
group子句
from student in students
group student by student.major;
select 子句
select子句指定所选定的对象哪部分应该被选择。可以指定下面的任意一项
a: 整个数据项
b: 数据项的一个字段
c: 数据项中几个字段组成的新对象(或类似其他值)
var query = from s in students
select s; //整个数据项
var query = from s in students
select s.stuName; //s中的一个字段
var query = from a in groupA
from b in groupB
let sum = a + b
where sum < 12
select new (a, b, sum); //a,b,sum组成的新字段
聚合函数
求和:sum
最大值:max
最小值:min
平均值:Average
去重:distinct
相乘:Aggregate
计数:count
上一篇: OpenGL模型加载之网格类
下一篇: AVCapture之5——OpenGL