Pergunta

Eu estou atualmente trabalhando em um serviço da ODATA Web 2 usando EF6 com uma primeira abordagem de código.

A documentação da brisa sugere o uso do Edmbuilder sobre o OdataconVentionModelBuilder por vários motivos ( http:// www.brezejs.com/documentation/odata-server ). Eu tive algumas perguntas sobre isso -:

1) O OdataconventionModelBuilder parece não gerar a tag 'referencialConstraint', tendo um impacto no $ selecione após $ expandir usando o cliente Breeze JS. Mas estranhamente, o mesmo parece funcionar quando digitou diretamente no navegador (usando $ Expand & $ SELECT), há algum trabalho para usar o ODATACONVENTSMODELBUILDER? Todas as questões indicadas no link ainda são aplicáveis?

2) Nós optamos por um serviço de ODATA puro para tornar a nossa API acessível para consumidores de Odata variados, desejamos manter nossos serviços genéricos sem qualquer sabor de brisa. A adição do Edmbuilder tornará a brisa do serviço específica?

Foi útil?

Solução

Como você descobriu que o OdataconventionModelBuilder da Microsoft não fornece restrições referenciais. Até agora, usar o Edmbuilder é a única solução alternativa. O uso do Edmbuilder não torna o serviço Breeze específico, porque não há código específico da brisa lá. (O código para Edmbuilder foi realmente fornecido por um engenheiro da Microsoft.) No entanto, usando o Edmbuilder, o impede de usar o restante da funcionalidade OdataconvmentmodelBuilder, que é irritante.

O que estamos considerando, está permitindo que os metadados Odata entregues a partir do servidor seja modificado / atualizado via série de chamadas de API, onde você declararia as restrições relacionais diretamente no cliente . Você estaria usando o construtor OdataconVentionModel em vez do Edmbuilder e usando a API 'Nova' para 'Redefinir' as restrições. Isso obviamente não é tão bom quanto recuperar os dados do servidor, mas até que MS corrige o OdataconVentionModelBuilder, isso pode ser nossa melhor aposta.

Isso seria de valor em seu cenário?

Além disso, entre em contato com a MS e deixe-os saber de sua frustração. :)

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