LINQ SELECT

SAMUKA 17/11/2011 13:36:27
#389293
Boa tarde VBmaniacos!

Pintou uma nova dúvida sobre LINQ

Usando expressões Lambda é possivel fazer isso:

.Select(c => new {
Nome = string.Format([Ô]{0} {1}[Ô], c.FirstName, c.LastName),
Cidade = c.City
});


Como eu faria usando LINQ?

Já tentei assim e não deu certo:

select new
{
Nome = string.Format([Ô]{0} {1}[Ô], c.FirstName, c.LastName),
Cidade = c.City
};


KERPLUNK 17/11/2011 14:03:58
#389294
Usando LINQ, não tem como fazer isso. As propriedades são seladas.
SAMUKA 17/11/2011 15:20:15
#389302
A solução seria fazer isso:


select new
{
Nome = c.FirstName + [Ô] - [Ô] + c.Idade,
Cidade = c.City
};


Se ambos campos forem string, o LINQ funciona, porém se um dos campos for Inteiro(por exemplo Idade) ele dá erro.
KERPLUNK 17/11/2011 15:39:21
#389303
Ou talvez, extender a classe do tipo de dados nome... se for string, extender string...
SAMUKA 17/11/2011 15:40:50
#389304
Como se faz isso?
KERPLUNK 17/11/2011 15:46:48
#389305
Aqui tem uma boa explicação.
Tópico encerrado , respostas não são mais permitidas