none
Como limitar valores (linhas) de um IList RRS feed

  • Pergunta

  • Olá galera. 

    Tenho um IList que recebe varios registros.

    Como estou trabalhando com NHibernate minha consulta SQL só vai falores apartir do From, loco não consigo colocar o Select Top(10) na instrução SQL.

    A questão é: Como limitar o total de linhas em um IList ?

    Ex: Meu IList ta carregando 20 valores (linhas) mas só quero carregar no GridView 10 Linhas

     

    Codigos....

    Camada DAO

    public IList<Conteudo> BuscarPeloTipoNoticia(int id)

            {

                using (NHibernate.ISession sessao = NhibernateHelper.getSession())

                {

                    return sessao.CreateQuery("from Conteudo ct where ct.Apagado='N' and ct.BoxPrincipal = 0 and ct.ObjTipoConteudo=" + id + "order by ct.Data desc").List<Conteudo>();

                }

            }

     

    //Camada Visao

    objListaConteudo = new List<Conteudo>();

                objListaConteudo = objConteudoBO.BuscarPeloTipoNoticia(objTipoConteudo.TipoConteudoID);

     

                gvNoticias.DataSource = objListaConteudo; //AQUI NESSA LISTA SO QUERO QUE TENHA 10 LINHAS

                gvNoticias.DataBind();

    segunda-feira, 13 de dezembro de 2010 03:34

Respostas

  • http://efreedom.com/Question/1-3586097/SQL-NHibernate-Criteria-Query

    ou faz um for de 1 a 10 pra pega somente o conteudo dos 10 valores.


    se a resposta foi útil, classifique :)
    ate mais,

    Rodrigo Soria
    segunda-feira, 13 de dezembro de 2010 05:41
  • Olá Ancellmo,

    No NHibernate existe sim como fazer um TOP,

    veja abaixo uma consulta que monte, bem simples, usa-se o SetMaxResults.

    ICriteria oICriteria = session.CreateCriteria(typeof(ContentPublish), "ContentPublish");
    oICriteria.AddOrder(new Order("ContentPublish.DateCreated", false));
    oICriteria.SetMaxResults(10);//ultimos 10 registros
    IList<ContentPublish> olContentPublish = oICriteria.List<ContentPublish>();
    
    
    Espero que ajude
    Tornar o simples complicado é facil, tornar o complicado simples é criatividade, vontade e conhecimento
    segunda-feira, 13 de dezembro de 2010 13:39

Todas as Respostas

  • http://efreedom.com/Question/1-3586097/SQL-NHibernate-Criteria-Query

    ou faz um for de 1 a 10 pra pega somente o conteudo dos 10 valores.


    se a resposta foi útil, classifique :)
    ate mais,

    Rodrigo Soria
    segunda-feira, 13 de dezembro de 2010 05:41
  • Olá Ancellmo,

    No NHibernate existe sim como fazer um TOP,

    veja abaixo uma consulta que monte, bem simples, usa-se o SetMaxResults.

    ICriteria oICriteria = session.CreateCriteria(typeof(ContentPublish), "ContentPublish");
    oICriteria.AddOrder(new Order("ContentPublish.DateCreated", false));
    oICriteria.SetMaxResults(10);//ultimos 10 registros
    IList<ContentPublish> olContentPublish = oICriteria.List<ContentPublish>();
    
    
    Espero que ajude
    Tornar o simples complicado é facil, tornar o complicado simples é criatividade, vontade e conhecimento
    segunda-feira, 13 de dezembro de 2010 13:39
  • Essa é a opção.... já utilizei.

     

    obrigado

    quinta-feira, 16 de dezembro de 2010 21:56