Come faccio a implementare IDataServiceMetadataProvider e dico la mia Data Service di utilizzare tale provider personalizzato?
-
12-09-2019 - |
Domanda
Non c'è alcun punto di ingresso ovvia per l'attuazione di un provider personalizzato per un servizio dati ADO.NET utilizzando IDataServiceMetadataProvider
, e poi dire un servizio di dati di utilizzare tale provider. Qualcuno ha avuto fortuna in questo settore? Ho provato attuazione di questa interfaccia su mia classe origine dati, ma nessuno dei miei punti di interruzione sono colpiti. V'è anche un modo (ovvio) per impostare il provider da parametro DataServiceConfiguration
della Data Service passata alla funzione InitializeService
.
Qualsiasi aiuto sarebbe apprezzato. Grazie!
Soluzione
Stiamo cercando di rivedere alcune parti della documentazione per queste interfacce per RTM. Nel frattempo, per ottenere il runtime Data Services per raccogliere l'implementazione IDataServiceMetadataProvider, è necessario implementare l'interfaccia IServiceProvider sulla tua classe Data Service.
Esempio:
public class northwindService:DataService<northwindContext> , IServiceProvider
{
public object GetService(Type serviceType)
{
if (serviceType == typeof(IDataServiceMetadataProvider )) {
//return instance of type which implements IDataServiceMetadataProvider
}
return null;
}
}
Altri suggerimenti
Giusto per aggiungere a Phani risposta, è necessario fare in modo che ritorni sia IDataServiceMetadataProvider e IDataServiceQueryProvider dalla chiamata GetService. Per il riposo delle interfacce, avete una scelta per restituirlo a partire GetService o implementare sul vostro classe DataSource.
Spero che questo aiuti.
Grazie Pratik