Usuário com melhor resposta
Sequencial em LINQ

Pergunta
-
Olá, boa tarde,
Preciso implementar um sequencial como um dos campos de saida de um select com LINQ. Seguem minhas classes:
Code Snippetclass 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 Snippetfotos = 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
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.- Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 3 de setembro de 2010 23:20
- Marcado como Resposta AndreAlvesLimaModerator quinta-feira, 9 de setembro de 2010 23:07
Todas as 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.- Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 3 de setembro de 2010 23:20
- Marcado como Resposta AndreAlvesLimaModerator quinta-feira, 9 de setembro de 2010 23:07