[英]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.