none
Sequencial em LINQ RRS feed

  • Pergunta

  • Olá, boa tarde,

    Preciso implementar um sequencial como um dos campos de saida de um select com LINQ. Seguem minhas classes:

    Code Snippet

        class P_ProdutoFotoReg
        {
            public int CTF_IN_SEQUENCIA { get; set; }
            public string CTF_ST_LINKFOTO { get; set; }
            public string CTF_ST_LINKDESTINO { get; set; }
            public string CTFI_ST_TEXTO { get; set; }
        }



    Code Snippet

                    fotos = from cat in Contexto.CATEGORIAs
                            from ctf in cat.CATEGORIAFOTOs
                            from ctfi in ctf.CATEGORIAFOTOINTs
                            where ctfi.EMP_IN_CODIGO == Empresa
                            && ctfi.CAT_IN_CODIGO == Categoria
                            && ctfi.LNG_IN_CODIGO == Idioma
                            orderby ctf.CTF_IN_PAGINA
                            select new P_ProdutoFotoReg()
                            {
                                //CTF_IN_SEQUENCIA = // Preciso implementar o sequenciamento aqui (1, 2, 3, 4)
                                CTF_ST_LINKFOTO = cat.CAT_ST_DIRETORIO,
                                CTF_ST_LINKDESTINO = ctf.CTF_ST_LINKDESTINO,
                                CTFI_ST_TEXTO = ctfi.CTFI_ST_TEXTO
                            };




    Como implementar esse sequenciamento?

    Obrigado

    domingo, 25 de maio de 2008 18:13

Respostas

  • Uai O.o

    select new P_ProdutoFotoReg()
                            {
                                //CTF_IN_SEQUENCIA = // Preciso implementar o sequenciamento aqui (1, 2, 3, 4)
                                CTF_ST_LINKFOTO = cat.CAT_ST_DIRETORIO,
                                CTF_ST_LINKDESTINO = ctf.CTF_ST_LINKDESTINO,
                                CTFI_ST_TEXTO = ctfi.CTFI_ST_TEXTO
                            };

    Isso instancia um novo P_ProdutoFotoReg e o retorna, preenchendo todos os campos com o resultado da query, exceto o CTF_IN_SEQUENCIA que está comentado.

    Na sua classe então você coloca um inteiro estático que contém o número desejado e na propriedade CTF_IN_SEQUENCIA, que deverá ser readonly, retorna este número estático e o incrementa em um.

    Assim, toda vez que o linq criar o objeto acima citado, ele vai retornar a propriedade CTF_IN_SEQUENCIA com o valor desejado e automaticamente incrementar em 1 para a próxima vez.
    sábado, 19 de julho de 2008 03:08

Todas as Respostas

  • Ola,

    Não poderia ser um array de inteiros?

     

    segunda-feira, 26 de maio de 2008 20:28
  • Uai O.o

    select new P_ProdutoFotoReg()
                            {
                                //CTF_IN_SEQUENCIA = // Preciso implementar o sequenciamento aqui (1, 2, 3, 4)
                                CTF_ST_LINKFOTO = cat.CAT_ST_DIRETORIO,
                                CTF_ST_LINKDESTINO = ctf.CTF_ST_LINKDESTINO,
                                CTFI_ST_TEXTO = ctfi.CTFI_ST_TEXTO
                            };

    Isso instancia um novo P_ProdutoFotoReg e o retorna, preenchendo todos os campos com o resultado da query, exceto o CTF_IN_SEQUENCIA que está comentado.

    Na sua classe então você coloca um inteiro estático que contém o número desejado e na propriedade CTF_IN_SEQUENCIA, que deverá ser readonly, retorna este número estático e o incrementa em um.

    Assim, toda vez que o linq criar o objeto acima citado, ele vai retornar a propriedade CTF_IN_SEQUENCIA com o valor desejado e automaticamente incrementar em 1 para a próxima vez.
    sábado, 19 de julho de 2008 03:08