К сожалению, LINQ не имеет оператора MaxBy
. Вам, вероятно, нужно упорядочить элементы по убыванию на соответствующее свойство, а затем принять первое значение:
Customer lastRegistered = db.Customers.OrderByDescending(x => x.RegistrationDate)
.FirstOrDefault();
Надеемся, что SQL Server может решить, как это сделать, без действительно полной сортировки:)
В LINQ to Objects, конечно, относительно легко написать метод MaxBy
- например, я разбираюсь в MoreLINQ .