Данное руководство устарело. Актуальное руководство: Руководство по Entity Framework Core
Linq to Entities поддерживает обращение к встроенным функциями SQL через специальные методы Count, Sum и т.д.
Метод Count()
позволяет найти количество элементов в выборке:
using(PhoneContext db = new PhoneContext()) { int number1 = db.Phones.Count(); // найдем кол-во моделей, которые в названии содержат Samsung int number2 = db.Phones.Count(p => p.Name.Contains("Samsung")); Console.WriteLine(number1); Console.WriteLine(number2); }
Для нахождения минимального, максимального и среднего значений по выборке применяются функции Min(), Max() и Average() соответственно. Найдем минимальную, максимальную и среднюю цену по моделям:
using(PhoneContext db = new PhoneContext()) { // минимальная цена int minPrice = db.Phones.Min(p=>p.Price); // максимальная цена int maxPrice = db.Phones.Max(p=>p.Price); // средняя цена на телефоны фирмы Samsung double avgPrice = db.Phones.Where(p=>p.Company.Name=="Samsung") .Average(p => p.Price); Console.WriteLine(minPrice); Console.WriteLine(maxPrice); Console.WriteLine(avgPrice); }
Для получения суммы значений используется метод Sum():
using(PhoneContext db = new PhoneContext()) { // суммарная цена всех моделей int sum1 = db.Phones.Sum(p => p.Price); // суммарная цена всех моделей фирмы Samsung int sum2 = db.Phones.Where(p=>p.Name.Contains("Samsung")) .Sum(p => p.Price); Console.WriteLine(sum1); Console.WriteLine(sum2); }