Pregunta

¿Es posible pasar una colección de objetos a una consulta del Servicio de datos RIA? No tengo problemas para enviar una Entidad, un Int o una matriz de tipos primitivos, pero tan pronto como declaro un método como este

public void GetLessonsConflicts(Lesson[] lessons)
{
}

me sale un error de compilación

  

" Operación nombrada   'GetLessonsConflicts' no se ajusta   a la firma requerida. Parámetro   los tipos deben ser un tipo de entidad o uno de   el serializable predefinido   tipos "

Solo estoy tratando de hacer alguna validación en el lado del servidor antes de guardar los datos. He intentado List, IEnumerable, etc.

Gracias

¿Fue útil?

Solución

Creo que el problema es en realidad la falta de un valor de retorno. Según tengo entendido, puede identificar DomainOperations por convención o por atributo. No está mostrando un atributo, por lo que RIA intentará igualarlo por convención.

Por ejemplo, por convención, un método de inserción debe:

  • tiene Insertar, Agregar o Crear como prefijo del nombre del método, p. InsertEmployee
  • coincidir con el nombre público vacío de la firma (Entidad e);

un método de consulta debe:

  • ser público
  • return IEnumerable, IQueryable o T (donde T es una entidad).

una operación de dominio personalizado debe

  • ser público
  • retorno nulo
  • tiene una entidad como primer parámetro.

EDITAR: Vea el comentario de Rami A a continuación. Creo que esto era cierto en ese momento, pero actualmente no estoy trabajando con esta tecnología, por lo que no estoy lo suficientemente actualizado para actualizar esta respuesta, aparte de notar que puede ser incorrecta.

O puede usar atributos como [Insertar], [Eliminar], [Actualizar], [Consulta], [Personalizado]. De mis documentos, todo lo que hacen los atributos es eliminar el requisito de la convención de nombres; para mí no está claro qué logran los atributos [Consulta] y [Personalizado].

Además de DomainOperations, puede definir ServiceOperations (utilizando el atributo [ServiceOperation]) e InvokeOperations.

Este artículo podría ayudar (aunque creo que es un poco fuera de fecha).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top