程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Linq學習(6) Group & Join(4)

Linq學習(6) Group & Join(4)

編輯:關於C語言

GroupJoin連接分組。

方法原型為:

public static IEnumerable<TResult> GroupJoin<TOuter, TInner, TKey, TResult>(
  this IEnumerable<TOuter> outer,
  IEnumerable<TInner> inner,
  Func<TOuter, TKey> outerKeySelector,
  Func<TInner, TKey> innerKeySelector,
  Func<TOuter, IEnumerable<TInner>, TResult> resultSelector)
// result:
// Andy
// 1----78
// 2----60
// ...
// Bill
// 1----59
// ...
// Cindy
// 2----60
// ...

相當於組合了Group操作和Join操作。等效的操作如下:

var result = from item in
         (from student in DataSource.Students
         join score in DataSource.Scores on student.StudentID equals score.StudentID
         select new { StudentName = student.Name, CourseID = score.CourseID, Value = score.Value })
       group item by item.StudentName into Group
       select new { StudentName = Group.Key, Group = Group };

結束語

到現在,Linq與SQL語言等價的操作基本介紹完,組合這些操作能實現復雜的查詢。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved