¿Cómo hago una llamada a mi método DomainService (con parámetros) desde mi ViewModel?

En el servidor tengo el siguiente método en la clase domainservice llamado MeasurementService

public MeasurementPresentationModel GetSingleMeasurementPM(Guid Id)
    {
        var m = this.ObjectContext.Measurments.SingleOrDefault(t => t.ID == Id);
        return new MeasurementPresentationModel()
               {
                   ID = m.ID,
                   Objective = m.Objective.Code,
                   ObjectiveID = m.ObjectiveID,
                   MeasurementList = m.MeasurmentList.Code,
                   MeasurementListID = m.MeasurementListID,
                   Weight = m.Wieght,
                   HasEvaluation = m.HasEvaluation,
                   ValidityEndDate = m.ValidityEndDate,
                   ValidityStartDate = m.ValidityStartDate,
                   DataType = m.DataType
               };
    }

En mi ViewModel, instancia el servicio de dominio MeasurementContext _context e intenté escribir un método de carga que no funciona:

public MeasurementEditViewModel(MeasurementPresentationModel model):this()
    {          
      _context = new MeasurementContext(); 
        var qry = _context.GetSingleMeasurementPMQuery(model.ID);
        var lo = _context.Load(qry);
        lo.Completed += (sender, e) => 
        {
            SelectedMeasurement = lo.Entities;
        }
    }

¿Qué estoy haciendo mal y cómo hago llamadas de servicio desde ViewModels?

preguntado el 27 de agosto de 11 a las 14:08

1 Respuestas

El método de carga es un método de consulta que debería devolver IQueryable o IEnumerable. Intente cambiar el contrato de su método de servicios como:

public IEnumerable<MeasurementPresentationModel> GetSingleMeasurementPM(Guid Id)

Respondido 27 ago 11, 19:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.