内联 lambda - 获取最新日期的汇率

发布于 2024-11-09 12:35:04 字数 785 浏览 0 评论 0 原文

MVC ViewPage 包含用户(intranet.Model.User)。每个用户可能有一个或多个在模型中表示为 Intranet.model.User.UserRates 的付费率。

我需要能够使用内联 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+WhereSelectEnumerableIterator2[System.Linq.IGrouping2[System.Decimal,intranet.Models.UserRate],intranet.Models.UserRate]

The MVC ViewPage contains Users (intranet.Model.User). Each user may have one or more rates of pay represented in the model as intranet.model.User.UserRates.

I need to be able to display the latest rate of pay per user using an inline Lambda expression but I am having no success (an error message is displayed rather than the rate of pay).

My latest incarnation is:

     
        <% var latestRate = item.UserRates
                               .GroupBy(hr=>hr.rate)
                               .Select(g=>g.Single(
                                  d=>d.effective == g.Max(m=>m.effective))
                                ); %>

<%= Html.Encode(latestRate) %> </td>

Error message in column is:

System.Linq.Enumerable+WhereSelectEnumerableIterator2[System.Linq.IGrouping2[System.Decimal,intranet.Models.UserRate],intranet.Models.UserRate]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感悟人生的甜 2024-11-16 12:35:05

最终迭代(目前):

  <% var userRate = item.UserRates
                        .OrderByDescending(hr=>hr.effective)
                        .FirstOrDefault() ?? new intranet.Models.UserRate(); %>

  <td class="hrlyRate">                                         
      <%= Html.Encode(string.Format("{0:0.000}", userRate.rate))%>
  </td> 

Final iteration (for now):

  <% var userRate = item.UserRates
                        .OrderByDescending(hr=>hr.effective)
                        .FirstOrDefault() ?? new intranet.Models.UserRate(); %>

  <td class="hrlyRate">                                         
      <%= Html.Encode(string.Format("{0:0.000}", userRate.rate))%>
  </td> 
零時差 2024-11-16 12:35:04

我无法确切地弄清楚你的数据是什么样子,但你不能做这样的事情吗?

var latestRate = item.UserRates
                     .OrderByDescending(x => x.effective)
                     .First();

I can't figure out exactly what your data looks like, but couldn't you do something like this?

var latestRate = item.UserRates
                     .OrderByDescending(x => x.effective)
                     .First();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文