簡體   English   中英

在LINQ中加入最小值

[英]Joining the min value in LINQ

考慮以下代碼:

var list = from n in Personal
           join b in SeekerProfileImage on n.Seek_Per_ID equals b.Seek_Per_ID
            into a
           from b in a.DefaultIfEmpty()

           join c in Resume on n.Seek_Per_ID equals c.Seek_Per_ID
           join d in Education on c.Seek_Resume_ID.Min() equals d.Seek_Resume_ID
           where ( Convert.ToBoolean((c.Seek_Resume_ID).Min()))
           select new
           {
               firtname=n.FirstName,
               secondname=n.LastName,
               university = d.Univ_Name,
               perid = n.Seek_Per_ID,
               filename = b.ImageType,
               imagetype = (b == null ? "http://localhost:10057/JobSearch/images/advertisment/head-silhouette.png" : "http://localhost:10057/JobSearch/images/SeekerIMG/" + n.Seek_Per_ID + "." + b.ImageType)
              // imagetype = (b == null ? Server.MapPath("~images/advertisment/head-silhouette.png") : b.ImageType)
           };

我想加入簡歷和教育,但是只希望獲得每位員工的最低簡歷。 我該怎么做? 以上是錯誤的。

要將您的簡歷集合轉換為每個EmployeeID一個簡歷的集合,您可以將以下表達式應用於簡歷。 這將按EmployeeID對簡歷進行分組,按ResumeID對每個組進行排序,然后選擇每個已排序組中的第一個。

Resume.GroupBy(r => r.EmployeeID).Select(gr => gr.OrderBy(r => r.ResumeID).First());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM