Linq-запрос с отношением один ко многим - PullRequest
0 голосов
/ 03 апреля 2011

В моем приложении 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, используя метод расширения?

Спасибо.

1 Ответ

1 голос
/ 03 апреля 2011

Если у вас есть 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...