Limit Number of Results being returned in a List from Linq
asp.net-mvc-3, c#, entity-framework, linq
Solution
Use the `Take` function
int numberOfrecords=10; // read from user
listOfItems.OrderByDescending(x => x.CreatedDate).Take(numberOfrecords)
Assuming `listOfItems` is List of your entity objects and `CreatedDate` is a field which has the date created value (used here to do the Order by descending to get recent items).
Take() Function returns a specified number of contiguous elements from the start of a sequence.
http://msdn.microsoft.com/en-us/library/bb503062.aspx
Problem
I'm using Linq/EF4.1 to pull some results from a database and would like to limit the results to the (X) most recent results. Where X is a number set by the user. Is there a way to do this? I'm currently passing them back as a `List` if this will help with limiting the result set. While I can limit this by looping until I hit X I'd just assume not pass the extra data around. Just in case it is relevant... C# MVC3 project running from a SQL Server database.