linqjoin:Linq 学习(6) Group & Join来源: 发布时间:星期五, 2009年1月9日 浏览:13次 评论:0
本篇介绍LinqGroup和Join操作继续使用Linq 学习(3) 语法结构中介绍数据源
Group Group是进行分组操作同SQL中Group By类似 原型如下: public IEnumerable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>( 它有几个重载返回类型有两种:IEnumerable<IGrouping<TKey, TSource>> 和 IEnumerable<TResult> 返回类型为:IEnumerable<IGrouping<TKey, TSource>> 举例: 返回按学号分组学生成绩 var result = from score in DataSource.Scores 其中Key为分组依据字段 foreach (var group in result) 等效扩展思路方法实现为: var result = DataSource.Scores.GroupBy(score => score.StudentID); 返回类型为:IEnumerable<TResult> 对分组结果进行些包装如包装为匿名类型 返回按学号分组学生成绩 var result = from score in DataSource.Scores 匿名类型中Group为IGrouping<TKey, TSource>类型 等效扩展思路方法实现为: var result = DataSource.Scores.GroupBy(score => score.StudentID, 其他些重载使用思路方法类似 Join 连接操作 public IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>( 从Join思路方法原型可以看出其使用思路方法 内连接 选择左右两侧集合都含有相对应元素 举例: 查询学生姓名、学科、成绩 var result = from score in DataSource.Scores 结束语 到现在Linq和SQL语言等价操作基本介绍完组合这些操作能实现复杂查询 0
相关文章读者评论
发表评论 |