title: Recommended strategy for ASP.NET paging with large data, and optional sorting
body: <p>The project I am currently working requires retrieving/searching from large amount of data, the flow as below:-</p>
  
  <ol>
  <li>Enter a keyword and search from about 500,000 members</li>
  <li>Retrieve only top 6 members.</li>
  <li>Allow sorting based on the member country or gender.
  Requirements: Using EF5.0</li>
  </ol>
  
  <p>The data is currently displayed using a UserControl and DataBinded using Repeater, will be updated through an UpdatePanel with next, previous button, etc.It is preferably but not limited to using EF5.0, and I am opened to other options (e.g. SqlDataReader) and cast it back to the members object manually. </p>
  
  <p>My current solution calling the Entities with skip by using the page number, i.e.</p>
  
  <p>members = context.Members.Where( conditions here ).Skip(page number * size).Take(size);</p>
  
  <p>My question will be: Is my strategy the industrial / common ways of doing it? Anyone with similar experience can share with me in terms of performance / optimization, is there any other better way to do so?</p>