Usuário com melhor resposta
Melhor maneira de retornar um objeto através de Linq to Sql

Pergunta
-
Respostas
-
Adriano,
Tente algo como:
using (Contexto db = new Contexto()) { var produto = (from p in db.Model.Produto where (p.Id == p_ID) select new Entidade.Produto() { Id = p.Id, Nome = p.Nome }).First(); }
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Marcado como Resposta Adriano Santoza quarta-feira, 16 de março de 2011 22:41
Todas as Respostas
-
Adriano,
Seria algo como isto:
var result = from p in contexto.Produto select new Produto() { codigo = p.Codigo, nome = p.Nome };
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
-
se você quer retornoar apenas um objeto você pode usar o método Single na sua consulta, segue exemplo
aonde 2 está represetando o ID do produtoProduto p = contexto.Produto.Single(c => c.Id.Equals(2));
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :)- Sugerido como Resposta RodolphoSa terça-feira, 15 de março de 2011 11:00
-
Boa noite Olavo, o problema não é em selecionar apenas um registro, o problema é na hora de converter ele para o meu objeto.
Eu consegui preencher uma lista da seguinte maneira:
IList<Produto> produto = new List<Produto>(); using (Contexto db = new Contexto()) { produto = db.Tab_Produto.Select(c => new Produto() { id = c.id, nome = c.Nome}).ToList(); }
Mas para preencher um objeto Produto eu não consigo.
Att.
Adriano Santoza -
Adriano,
A ideia seria a mesma, só que utilizando o Single (ou First, Last, o que quer que seja, mas, retornando somente uma entidade e não uma coleção) como o Olavo sugeriu... Você poderia postar como ficou o seu código que resultou na mensagem de erro postada anteriormente?
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
Adriano, como o André disse, você poderia colocar todo o seu método aqui para que possamos analisar ?
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :) -
Bom dia Olavo, eu fiz conforme você me disse.
using (Contexto db = new Contexto()) { Entidade.Produto produto = db.Model.Produto.Single(c => c.Id.Equals(p_ID)); }
O problema é que não consigo converter o Model.Produto (que é uma tabela do meu DataContext) para um Entidade.Produto (que é um objeto que eu criei com os mesmo atributos da tabela).
Valeu pessoal.
Adriano Santoza -
Adriano,
Tente algo como:
using (Contexto db = new Contexto()) { var produto = (from p in db.Model.Produto where (p.Id == p_ID) select new Entidade.Produto() { Id = p.Id, Nome = p.Nome }).First(); }
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Marcado como Resposta Adriano Santoza quarta-feira, 16 de março de 2011 22:41
-