Как мне реализовать IDataServiceMetadataProvider и указать моей службе данных использовать этого специального поставщика?

StackOverflow https://stackoverflow.com/questions/1663609

Вопрос

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

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

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

IDataServiceMetadataProvider Члены

Это было полезно?

Решение

Мы рассматриваем возможность пересмотра некоторой документации по этим интерфейсам для 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;
    }  
}

Другие советы

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

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

Спасибо, Пратик

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top