Como posso implementar IDataServiceMetadataProvider e dizer ao meu serviço de dados para usar esse provedor personalizado?
-
12-09-2019 - |
Pergunta
Não há nenhum ponto de entrada óbvio para implementar um provedor personalizado para um serviço de dados ADO.NET usando IDataServiceMetadataProvider
, e depois dizer um serviço de dados para usar esse provedor. Alguém já teve alguma sorte nesta área? Eu tentei implementar essa interface em minha classe de origem de dados, mas nenhum dos meus pontos de interrupção são atingidos. Também não há maneira (óbvio) para definir o provedor de parâmetro DataServiceConfiguration
do serviço de dados passado para a função InitializeService
.
Qualquer ajuda seria apreciada. Obrigado!
Solução
Nós estamos olhando para rever alguns dos documentos para essas interfaces para RTM. Entretanto, para obter o tempo de execução de serviços de dados para pegar sua implementação IDataServiceMetadataProvider, você precisará implementar a interface IServiceProvider na sua classe de serviço de dados.
Amostra:
public class northwindService:DataService<northwindContext> , IServiceProvider
{
public object GetService(Type serviceType)
{
if (serviceType == typeof(IDataServiceMetadataProvider )) {
//return instance of type which implements IDataServiceMetadataProvider
}
return null;
}
}
Outras dicas
Apenas para adicionar à Phani resposta, você precisa ter certeza de que você voltar tanto IDataServiceMetadataProvider e IDataServiceQueryProvider da chamada GetService. Para resto das interfaces, você tem a opção de devolvê-lo a partir GetService ou implementá-lo em sua classe DataSource.
Espero que isso ajude.
Graças Pratik