我的asp.net MVC3应用程序中有两个参与者,我使用的是EF 4.1。实体是:
public class Category {
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Movie> Movies { get; set; }
}
public class Movie {
public int Id { get; set; }
public string Title { get; set; }
public string Director { get; set; }
public int Price {get; set;}
public DateTime ReleaseDate { get; set; }
public string Description { get; set; }
public Category Category { get; set; }
}
我想使用Linq查询计算所有类别名称=“喜剧”的电影的价格总和。你能用扩展方法向我推荐Linq查询吗?
感谢。
答案 0 :(得分:1)
假设您有IEnumerable<Movie> movies
,则可以
movies
.Where(x => x.Category.Name == "Comedy")
.Select(x => x.Price)
.Sum();
正如@Linkgoron在评论中所说,您也可以将谓词放在Sum
方法中,例如:
movies
.Where(x => x.Category.Name == "Comedy")
.Sum(x => x.Price);