Как мне реализовать IDataServiceMetadataProvider и указать моей службе данных использовать этот пользовательский поставщик? - PullRequest
1 голос
/ 02 ноября 2009

Нет очевидной точки входа для реализации настраиваемого поставщика для службы данных ADO.NET с использованием IDataServiceMetadataProvider, а затем для указания службе данных использовать этого поставщика. Кому-нибудь повезло в этой области? Я пытался реализовать этот интерфейс в своем классе Data Source, но ни одна из моих точек останова не была достигнута. Также нет (очевидного) способа установить провайдера из параметра DataServiceConfiguration службы данных, передаваемого в функцию InitializeService.

Любая помощь будет оценена. Спасибо!

Поставщики услуг передачи данных (службы данных ADO.NET)

IDataServiceMetadataProvider Члены

Ответы [ 2 ]

1 голос
/ 05 ноября 2009

Чтобы добавить ответ Phani, необходимо убедиться, что вы возвращаете как IDataServiceMetadataProvider, так и IDataServiceQueryProvider из вызова GetService.Для остальных интерфейсов у вас есть возможность вернуть его из GetService или внедрить его в свой класс DataSource.

Надеюсь, это поможет.

1 голос
/ 05 ноября 2009

Мы собираемся пересмотреть некоторую документацию для этих интерфейсов для RTM. В то же время, чтобы среда выполнения Data Services могла забрать реализацию IDataServiceMetadataProvider, вам потребуется реализовать интерфейс IServiceProvider в своем классе Data Service.

IServiceProvider на MSDN

Образец:

public class northwindService:DataService<northwindContext> , IServiceProvider 
{
   public object GetService(Type serviceType) 
   {
      if (serviceType == typeof(IDataServiceMetadataProvider )) {
        //return instance of type which implements IDataServiceMetadataProvider 
       }
     return null;
    }  
}
...