Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get max value of a column using Entity Framework?

To get maximum value of a column that contains integer, I can use the following T-SQL comand

SELECT MAX(expression ) FROM tables WHERE predicates; 

Is it possible to obtain the same result with Entity Framework.

Let's say I have the following model

public class Person {   public int PersonID { get; set; }   public int Name { get; set; }   public int Age { get; set; } } 

How do I get the oldest person's age?

int maxAge = context.Persons.? 
like image 861
Richard77 Avatar asked Sep 24 '11 21:09

Richard77


2 Answers

Try this int maxAge = context.Persons.Max(p => p.Age);

And make sure you have using System.Linq; at the top of your file

like image 135
krolik Avatar answered Sep 17 '22 13:09

krolik


If the list is empty I get an exception. This solution will take into account this issue:

int maxAge = context.Persons.Select(p => p.Age).DefaultIfEmpty(0).Max(); 
like image 40
Carlos Toledo Avatar answered Sep 20 '22 13:09

Carlos Toledo