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.
ToList()
or ToArray()
i would prefer to use AsEnumerable()
.OrderByDescending()
Count()
i would use Any()
.