Usuário com melhor resposta
WCF Ria Services - Retornar uma única entidade

Pergunta
-
O método que tenho no DomainService para retornar uma única entidade de planta é o seguinte:
public BlueOnTracking.Web.Models.Planta GetPlantaById(int PlantaId) { return this.ObjectContext.Plantas.Single(l => l.id_planta == PlantaId); }
O meu problema está como receber esse retorno no lado do cliente.
Já tentei vários formas mas não consigo encontrar solução.
Um exemplo que vi na net:
LoadOperation l = _Context.Load(_Context.GetPlantaByIdQuery(Int32.Parse(plantaEscolhida)), true); l.Completed += (s,e) => { plantaSeleccionada = l.Entities.FirstOrDefault() }
Mas na linha l.Entities não encontro o método FirstOrDefault.
Estou a usar o SL5 com a actualização dos Ria Services para o SP2.
Obrigado,
Afonso Gomes
Respostas
-
Afonso,
Adicione o using System.Linq; na sua classe :).
Atenciosamente, Paulo R. Pereira de Souza
http://paulosouza.net
E-mail: paulorpereirasouza@hotmail.com.- Marcado como Resposta Afonso Gomes quinta-feira, 9 de junho de 2011 15:52
Todas as Respostas
-
Afonso,
Adicione o using System.Linq; na sua classe :).
Atenciosamente, Paulo R. Pereira de Souza
http://paulosouza.net
E-mail: paulorpereirasouza@hotmail.com.- Marcado como Resposta Afonso Gomes quinta-feira, 9 de junho de 2011 15:52
-
-
Afonso, abaixo um exemplo
bool isNotCompleted = true;
LoadOperation l = _Context.Load(_Context.GetPlantaByIdQuery(Int32.Parse(plantaEscolhida)), true);
l.Completed += (s,e) =>
{ plantaSeleccionada = l.Entities.FirstOrDefault();isNotCompleted = false;
} while(isNotCompleted) Thread.Sleep(TimeSpan.FromSeconds(0.5));
Atenciosamente, Paulo R. Pereira de Souza
http://paulosouza.net
E-mail: paulorpereirasouza@hotmail.com.
-
Comigo isso não funcionou. Estive a procurar e encontrei a solução:
_PlantaEscolhidaContext.Load(_PlantaEscolhidaContext.GetPlantaByIdQuery(Int32.Parse(plantaEscolhida)), lo => { if (!lo.HasError) { plantaSeleccionada = (Planta)lo.Entities.Single(); } }, null);