Usuário com melhor resposta
Retorno lambada expression.

Pergunta
-
Olá estou com a seguinte dificuldade, tenho uma expressão lambda , em um repositório, segue o código abaixo:
Minha dificuldade e pegar o retorno dos valores pois ocasiona um erro:
public List<Mservico> Servico()
{
using (var bd = new BdSalaoEntities())
{
//var dados = new List<Mservico>();
var query = bd.tbl_Servico.Join(bd.tbl_Item,
s => s.codigo,
i => i.codigo_servico,
(s, i) => new
{
i.codigo,
s.servico,
i.item
});
return query ;
}
}
- Editado _Manigold_ sexta-feira, 6 de junho de 2014 11:47
Respostas
-
Fiz da maneira abaixo:
public List<Mservico> Servico()
{
using (var bd = new BdSalaoEntities())
{
var dados = new List<Mservico>();
var query = bd.tbl_Servico.Join(bd.tbl_Item,
s => s.codigo,
i => i.codigo_servico,
(s, i) => new
{
i.codigo,
s.servico,
i.item
});
foreach (var item in query)
{
dados.Add(new Mservico {Codigo = Convert.ToInt64(item.codigo),Servico = item.servico,Item = item.item });
}
return dados;
}
}
}Mas não sei se é a melhor pratica.
Tks.
Olá Manigold,
faça o Select diretamente na sua expressão, se fala Lambda rs :
var query = bd.tbl_Servico.Join(db.tbl_Item, t1 => t1.codigo, t2 => t2.codigo_servico, (t1,t2) => new { t1,t2 }) .Select(s => new Mservico { Codigo = item.codigo, Servico = item.servico }) .ToList();
Assim seria uma boa pratica além de ser executado mais rapidamente !
- Sugerido como Resposta Daniel Brito br sexta-feira, 6 de junho de 2014 02:21
- Marcado como Resposta _Manigold_ quarta-feira, 11 de junho de 2014 12:09
Todas as Respostas
-
Fiz da maneira abaixo:
public List<Mservico> Servico()
{
using (var bd = new BdSalaoEntities())
{
var dados = new List<Mservico>();
var query = bd.tbl_Servico.Join(bd.tbl_Item,
s => s.codigo,
i => i.codigo_servico,
(s, i) => new
{
i.codigo,
s.servico,
i.item
});
foreach (var item in query)
{
dados.Add(new Mservico {Codigo = Convert.ToInt64(item.codigo),Servico = item.servico,Item = item.item });
}
return dados;
}
}
}Mas não sei se é a melhor pratica.
Tks.
- Editado _Manigold_ sexta-feira, 6 de junho de 2014 01:39
-
Fiz da maneira abaixo:
public List<Mservico> Servico()
{
using (var bd = new BdSalaoEntities())
{
var dados = new List<Mservico>();
var query = bd.tbl_Servico.Join(bd.tbl_Item,
s => s.codigo,
i => i.codigo_servico,
(s, i) => new
{
i.codigo,
s.servico,
i.item
});
foreach (var item in query)
{
dados.Add(new Mservico {Codigo = Convert.ToInt64(item.codigo),Servico = item.servico,Item = item.item });
}
return dados;
}
}
}Mas não sei se é a melhor pratica.
Tks.
Olá Manigold,
faça o Select diretamente na sua expressão, se fala Lambda rs :
var query = bd.tbl_Servico.Join(db.tbl_Item, t1 => t1.codigo, t2 => t2.codigo_servico, (t1,t2) => new { t1,t2 }) .Select(s => new Mservico { Codigo = item.codigo, Servico = item.servico }) .ToList();
Assim seria uma boa pratica além de ser executado mais rapidamente !
- Sugerido como Resposta Daniel Brito br sexta-feira, 6 de junho de 2014 02:21
- Marcado como Resposta _Manigold_ quarta-feira, 11 de junho de 2014 12:09
-
Mas nesse caso eu preciso armazenar em um list pois estou usando um repositório.
,mas de qualquer foma, vou tentar , me desculpe escrevi errado kkkkkkkkkkkkkkk.
vlw.
- Editado _Manigold_ sexta-feira, 6 de junho de 2014 11:47