J'utilise une fonction pour permettre la composition de requête de l'interface utilisateur Web et je mettre en œuvre la fonctionnalité de pagination qui sera disponible pour les contrôles DataBound tels que ObjectDataSource, GRIDVIEW, etc:Extrait radiomessagerie de IQueryable
public class MyClass<TEntity> where TEntity : class
{
FakeEntities xxx = new FakeEntities();
public IEnumerable<TEntity> Get(Func<IQueryable<TEntity>, IQueryable<TEntity>> queryExpression)
{
var query = xxx.Set<TEntity>();
return queryExpression(query).ToList();
}
public int Count()
{
// What Can I return?
}
}
// **** USAGE ****
MyClass<User> u = new MyClass<User>();
var all = u.Get(p => p.Where(z => z.Account == "Smith").OrderBy(order => order.IdOther).Skip(1).Take(2));
La requête ci-dessus utilise la fonction Take et Skip, puis-je obtenir le nombre réel de mes entités? Évidemment, je dois retourner le nombre de requêtes sans modifier l'expression du filtre.