繁体   English   中英

在实体框架中使用分组依据获取行数

[英]Get row count using group by in entityframework

我在该实体中有TheaterMovieShowTime实体,我想通过对特定列(例如TheaterMovieDetailID)进行分组来获取行数。

这是我的实体:

public class TheaterMovieShowTime
{
   public int TheaterMovieShowTimeID { get; set; }
   public int TheaterMovieDetailID { get; set; }
    public int TheaterShowTimeID { get; set; }

    public virtual TheaterMovieDetail TheaterMovieDetails { get; set; }
    public virtual TheaterShowTime TheaterShowTime { get; set; }
}

这是我的TheatreMovieDetail实体:

public class TheaterMovieDetail
{
    public int TheaterMovieDetailID { get; set; }
    public int TheaterID { get; set; }
    public int MovieID { get; set; }
    public DateTime DateFrom { get; set; }
    public DateTime DateTo { get; set; }

    public virtual Movie Movie { get; set; }
    public virtual Theater Theater { get; set; }

    public virtual ICollection<TheaterMovieShowTime> TheaterMovieShowTimes { get; set; }
}

我尝试这样:

 var p = _theaterMovieShowTimeService.GetAllTheaterMovieShowTime()
            .GroupBy(x => x.TheaterMovieDetailID)
            .Select(x => new TheaterMovieShowTimeSummaryViewModel
            {
                TheaterName = x.FirstOrDefault().TheaterMovieDetails.Theater.TheaterName,
                MovieName = x.FirstOrDefault().TheaterMovieDetails.Movie.MovieName,
                NoOfShows=???????? // get the no of rows here
            });

如何在此处获取NoOfShows,该行不是TheaterMovieDetailID分组的行。

将不胜感激提供的任何帮助。 让我知道您是否需要其他信息来帮助回答这个问题

使用linq Count()函数:

var p = _theaterMovieShowTimeService.GetAllTheaterMovieShowTime()
    .GroupBy(x => x.TheaterMovieDetailID)
    .Select(x => new TheaterMovieShowTimeSummaryViewModel
    {
        TheaterName = x.FirstOrDefault().TheaterMovieDetails.Theater.TheaterName,
        MovieName = x.FirstOrDefault().TheaterMovieDetails.Movie.MovieName,
        NoOfShows= x.Count()  // get the no of rows here
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM