Last and LastOrDefault not supported
.net, c#, linq, linq-to-sql
Solution
- Instead of putting it into an own list by calling `ToList()` or `ToArray()` i would prefer to use `AsEnumerable()`.
- Additionally like the others you should try `OrderByDescending()`
- Instead of `Count()` i would use `Any()`.
Problem
I am trying to get the first and last values in a list. The query operator `First()` is supported but `Last()` and `LastOrDefault()` give an error. Am I using the `Last()` operator incorrectly? ``` var purchaseBills = db.PurchaseBills.OrderBy(p => p.BillID); if (purchaseBills.Count() >0) { var firstBill = purchaseBills.First(); // This is supported // Attempt 1 var lastBill = purchaseBills.Last(); // Not supported // Attempt 2 var lastBill = purchaseBills.LastOrDefault(); // Not supported //Attempt 3 var lastBill = purchaseBills.Reverse().First(); // Not supported textBoxPurchaseBillFrom.Text = firstBill.BillNo.ToString(); textBoxPurchaseBillTo.Text = lastBill.BillNo.ToString(); } ``` Update: --Errors-- Attempt 1: The query operator '`Last`' is not supported. Attempt 2: The query operator '`LastOrDefault`' is not supported. Attempt 3: The query operator '`Reverse`' is not supported.