Pergunta

É possível passar uma coleção de objetos a uma consulta RIA Data Service? Eu não tenho problemas envio de uma entidade, um Int ou uma matriz de tipos primitivos, mas, logo que eu declare um método como este

public void GetLessonsConflicts(Lesson[] lessons)
{
}

eu recebo um erro de compilação

" Operação chamado 'GetLessonsConflicts' não está em conformidade para a assinatura requerida. Parâmetro tipos deve ser um tipo de entidade ou um dos o serializado predefinida tipos "

Eu estou apenas tentando fazer alguma validação no lado do servidor antes de guardar os dados. Eu tentei List, IEnumerable etc.

Graças

Foi útil?

Solução

Eu acho que o problema é realmente a falta de um valor de retorno. Pelo que entendi, você pode identificar DomainOperations por convenção ou por atributo. Você não está mostrando um atributo tão RIA vai tentar combiná-lo por convenção.

Por exemplo, por convenção, um método de inserção deve:

  • tem Inserir, Adicionar ou Crie como o prefixo do nome do método, por exemplo, InsertEmployee
  • coincidir com o nome public void assinatura (Entidade e);

um método de consulta obrigatória:

  • ser pública
  • retorno IEnumerable, IQueryable ou T (onde T é uma entidade).

uma operação de domínio personalizado must

  • ser pública
  • de retorno void
  • tem uma entidade como o primeiro parâmetro.

EDIT: comentário Ver de Rami A abaixo. Eu acredito que isso era verdade na época, mas eu não estou trabalhando atualmente com esta tecnologia, então eu sou o suficiente para não atual nele para atualizar esta resposta diferente a nota que ele pode estar incorreta.

Ou você pode usar Atributos como [Insert], [APAGAR], [Update], [consulta], [Custom]. De meus documentos, todos os atributos fazer é remover o requisito para a convenção nome -. Não está claro a partir deles, para mim, o que o [consulta] e [Custom] atributos alcançar

Assim como DomainOperations, você pode definir ServiceOperations (usando o [ServiceOperation] atributo) e InvokeOperations.

Este artigo ajuda poder (embora eu acho que é um pouco desatualizado).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top