Não consegui usar o Skip ao usar o orderby antes.
Cannot implicitly convert type 'System.Linq.IQueryable' to 'System.Linq.IOrderedQueryable'. An explicit conversion exists (are you missing a cast?)
Não consegui usar o Skip ao usar o orderby antes.
Cannot implicitly convert type 'System.Linq.IQueryable' to 'System.Linq.IOrderedQueryable'. An explicit conversion exists (are you missing a cast?)
Ola Pablo Tenta utilizar esta solução abaixo, que usei:
DAO Produto `` public IEnumerable ListaPaginada(int paginaAtual) { var busca = from p in contexto.Produtos.Include("Categoria") orderby p.Id select p;
int resultadosPorPagina = 5; int skip = resultadosPorPagina * (paginaAtual - 1);
var lista = busca.Skip(skip).Take(resultadosPorPagina);
IList resultado = lista.ToList();
return resultado.ToList(); } ``
Controller Produto `` public ActionResult ListaPaginada(int? pagina) {
int paginaAtual = pagina.GetValueOrDefault(1); ViewBag.Pagina = paginaAtual; IEnumerable produtos = this.dao.ListaPaginada(paginaAtual); return View(produtos); } ``
Ola Rogério obrigado pela ajuda, apliquei uma solução aqui atraves da sua resposta e fui atras do que realmente aconteceu. O problema foi que ao fazer esta query do Linq abaixo e usar o orderby a variável busca se tornou um IOrderedQueryable
var busca = from p in contexto.Produtos
orderby p.Id
select p;
Em seguida ao escrever o código abaixo e usar os métodos Skip e Take da classe Queryable estava implicitamente tentando fazer uma conversão de IQueryable para IOrderedQueryable o que não é possível.
busca = busca.Skip(skipPage).Take(resultadosPorPagina);
Com a sua solução proposta e que solucionou o erro aconteceu que ao atribuir o resultado em uma nova variável não foi necessário mais em runtime se fazer cast pois a variável lista do tipo var ira assumir o tipo que será passado em runtime e esta nova variável sera o retorno da DAO como IQueryable
var lista = busca.Skip(skipPage).Take(resultadosPorPagina);
return lista.ToList();
Mais uma vez muito obrigado pela ajuda, através dela resolvi o erro e também tive a oportunidade de ira atras do porque estudando mais afundo.