Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Last and LastOrDefault not supported

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.

like image 985
Marshal Avatar asked Aug 31 '11 06:08

Marshal


Video Answer


1 Answers

  • 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().
like image 106
Oliver Avatar answered Sep 25 '22 18:09

Oliver