Linq Select New 属性 IF Date is Max()

Linq Select New Property IF Date is Max()

我正在尝试创建一个属性 "Level",如果记录 CompletedDate 是整个结果集中的 largest/max,该属性将设置为 0,否则将其设置为 1。我需要知道什么 "Level" 它用于输出目的,因此我可以正确呈现嵌套的 div。任何想法将不胜感激。

From g In pciData.AsEnumerable() _
Order By (g.SmartForm.CompletedDate) Descending _
Select _
    Name = IIf(g.SmartForm.FormName Is Nothing, "", g.SmartForm.FormName.ToString()), _
    Level = IIf( _ 
    iif(Date.Parse(g.SmartForm.CompletedDate) = "GET MAX DATE OF RESULT SET HERE", 0, 1) 

回答

Level = IIf(Date.Parse(g.SmartForm.CompletedDate) = _ 
Date.Parse(pciData.Max(Function(m) m.SmartForm.CompletedDate)), 0, 1)

尝试这样的事情:

(未经测试的徒手输入代码..可能包含拼写错误)

From g In pciData.AsEnumerable() _
Let MaxDate = g.max(function(f) f.CompletedDate) _
Order By (g.SmartForm.CompletedDate) Descending _
Select _
Name = IIf(g.SmartForm.FormName Is Nothing, "", g.SmartForm.FormName.ToString()), _
Level = IIf( _ 
iif(Date.Parse(g.SmartForm.CompletedDate) > MaxDate, 0, 1)