MVC ViewPage包含用户(intranet.Model.User)。每个用户可以在模型中以intranet.model.User.UserRates表示一个或多个工资率。内联lambda - 最近日期的获取率
我需要能够显示每个用户使用内联Lambda表达式的最新薪酬,但我没有成功(显示错误消息而不是薪酬)。
我的最新的化身是:在柱
<% var latestRate = item.UserRates
.GroupBy(hr=>hr.rate)
.Select(g=>g.Single(
d=>d.effective == g.Max(m=>m.effective))
); %>
<%= Html.Encode(latestRate) %>
</td>
错误信息是:
System.Linq.Enumerable + WhereSelectEnumerableIterator
2[System.Linq.IGrouping
2 [System.Decimal,intranet.Models .UserRate],intranet.Models.UserRate]
你好,谢谢,我有我的迭代之一,但面临一定的用户没有任何用户数据率,所以代码抛出一个问题“序列不包含元素”错误。我可以确保在数据库中至少每个用户都有一个默认的0.00用户速率,但是我想我可以在lambda中缓解这个问题。 – Klaptrap 2011-05-24 09:19:21
处理.FirstOrDefault()而不是第一个。在某些情况下,这仍然给我一个空对象,但我目前正在捕获 – Klaptrap 2011-05-24 09:27:00