具有最短日期和加入次数的 Linq 组

发布于 2024-10-19 12:40:28 字数 1391 浏览 2 评论 0原文

我正在尝试设置 PastEvents,一个 int,并且需要一些关于如何将最终的 EventCount 转换为 int 的指导。我收到错误“无法将类型‘System.Linq.IQueryable’隐式转换为‘int’”。我正在考虑使用 Sum() 或 FirstorDefault()。任何帮助将不胜感激。

PastEvents = from ev in
             (from ev in
                 ((from e in db.ActivityEventEntities
                   join d in db.ActivityEventDateEntities on e.EventID equals d.EventID
                   where e.ActivityID == 58
                   group new { e, d } by new
                   {
                     e.EventID
                     } into g
                     select new
                      {
                          EventID = (Int32?)g.Key.EventID,
                          StartDate = (DateTime?)g.Min(p => p.d.DateValue)
                                                   }))
                                          where
                                            ev.StartDate > DateTime.Now
                                          select new
                                          {
                                              Dummy = "x"
                                          })
                                     group ev by new { ev.Dummy } into g
                                     select new
                                     {
                                         EventCount = (Int64?)g.Count()
                                     }

I am trying to set PastEvents, a int, and need some guidance in how to get the final, EventCount converted to an int. I get the error "Cannot implicitly convert type 'System.Linq.IQueryable' to 'int'". I am thinking of using Sum() or FirstorDefault(). Any help would be appreciated.

PastEvents = from ev in
             (from ev in
                 ((from e in db.ActivityEventEntities
                   join d in db.ActivityEventDateEntities on e.EventID equals d.EventID
                   where e.ActivityID == 58
                   group new { e, d } by new
                   {
                     e.EventID
                     } into g
                     select new
                      {
                          EventID = (Int32?)g.Key.EventID,
                          StartDate = (DateTime?)g.Min(p => p.d.DateValue)
                                                   }))
                                          where
                                            ev.StartDate > DateTime.Now
                                          select new
                                          {
                                              Dummy = "x"
                                          })
                                     group ev by new { ev.Dummy } into g
                                     select new
                                     {
                                         EventCount = (Int64?)g.Count()
                                     }

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

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

发布评论

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

评论(1

翻了热茶 2024-10-26 12:40:28
select new
{
    EventCount = (Int64?)g.Count()
}.First().EventCount;
select new
{
    EventCount = (Int64?)g.Count()
}.First().EventCount;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文