Comment puis-je mettre IDataServiceMetadataProvider et dis à mon service de données à utiliser ce fournisseur personnalisé?
-
12-09-2019 - |
Question
Il n'y a pas de point d'entrée évident pour la mise en œuvre d'un fournisseur personnalisé pour un service de données ADO.NET à l'aide IDataServiceMetadataProvider
, puis dire à un service de données à utiliser ce fournisseur. Quelqu'un at-il eu de chance dans ce domaine? J'ai essayé la mise en œuvre de cette interface sur ma classe de source de données, mais aucun de mes points d'arrêt sont touchés. Il n'y a pas non plus (évident) façon de définir le fournisseur du paramètre de DataServiceConfiguration
de service Les données transmises dans la fonction InitializeService
.
Toute aide serait appréciée. Merci!
La solution
Nous examinons la révision de certains documents pour ces interfaces pour RTM. En attendant, pour obtenir le temps d'exécution des services de données pour récupérer votre mise en œuvre de IDataServiceMetadataProvider, vous devrez implémenter l'interface IServiceProvider de votre classe de service de données.
Exemple:
public class northwindService:DataService<northwindContext> , IServiceProvider
{
public object GetService(Type serviceType)
{
if (serviceType == typeof(IDataServiceMetadataProvider )) {
//return instance of type which implements IDataServiceMetadataProvider
}
return null;
}
}
Autres conseils
Il suffit d'ajouter à la réponse Phani, vous devez vous assurer que vous retourniez à la fois IDataServiceMetadataProvider et IDataServiceQueryProvider de l'appel GetService. Pour le repos des interfaces, vous avez le choix pour retourner à partir GetService ou la mettre en œuvre votre classe DataSource.
Hope this helps.
Merci Pratik