[英]Getting Linq query from the SQL
我正在嘗試從SQL查詢中獲取Linq查詢。 sql查詢是:
Select * from EMP where Salary = (Select Max(Salary) from EMP)
我創建了一個Linq查詢,但是根本無法使用:
var result = emps.where(emp => emp.Salary == emps.Max(emp.sal));
我應該如何解決這個問題?
嘗試這個:
var maxsal = emps.Max(emp => emp.sal);
var result = emps.Where(e => e.sal == maxsal);
假設您希望將其作為單個linq查詢進行操作,我認為這將滿足您的需求:
var result = emps
.Select(e => new { Emp = e, Max = emps.Max(_ => _.Salary)})
.Where(e => e.Max == e.Emp.Salary)
.Select(e => e.Emp);
**更新**您實際上可以在單個語句中執行此操作:
var result = emps
.Where(e => emps.Max(_ => _.Salary) == e.Salary);
您的原始場景還有其他問題嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.