2015-12-29 33 views
0

如何選擇每個組中基本最大值的列表類屬性? 我試圖像下面,但沒有獲得成功..如何選擇每個組中基本最大值的列表類屬性?

​​

其實我要像下面的SQL查詢概念在LINQ ..

select * from [Student_Re_Admission] where [Re_Admission_Id] in(SELECT max(Re_Admission_Id) FROM [Student_Re_Admission] group by Registration_Id) 
+1

僅供參考 - 以大寫字母命名課程是一種糟糕的做法。使用camelCase :) –

回答

0

有一個在STUDENT_DETAIL沒有Re_Admission_Id,所以使用Admission_No代替。

var maxReAdmissionIds = 
      (from s in db.Student_Re_Admission 
      group s by s.Registration_Id 
       into grp 
       select (grp.Max(p => Convert.ToInt32(p.Admission_No))).ToString()) 
       .ToList(); 

集團通過Registration_Id比先選擇Admission_No到列表中。

var result = from s in db.Student_Re_Admission 
      where maxReAdmissionIds.Contains(s.Admission_No) 
      select s; 

然後,使用列表得到結果。
但另一個值得關注的是如果maxReAdmissionIds多於2100個元素將導致「sql中的元素太多」異常。

+0

我的班級列表選擇在哪裏? –

+0

我不想var我想我的類作爲列表的數據類型 –

+0

@abbasahmed [關於「var」](https://msdn.microsoft.com/zh-tw/library/bb383973.aspx),在這種情況下,'' result'將是'IEnumerable ',你可以通過.ToList()將它轉換成'List '。 – kcwu

相關問題