Сервис OData для предоставления объекта, заполненного из нескольких источников данных - PullRequest
2 голосов
/ 14 апреля 2011

Этот объект будет доступен через службу OData только для чтения, CompanySummary.svc

public class CompanySummary
{
    //populated from an Odata service#1 that exposed data from db#1
    public int PrimaryId  { get; set; } // this will be the DataServiceKey
    public int? SecondaryId         { get; set; }
    public string SomeStringAttribute_1  { get; set; }


    //populated from an Odata service#2 that exposed data from db#2
    public bool?  SomeBoolProperty        { get; set; }

    //populated from an Odata service#3 that exposed data from db#3
    public string SomeStringAttribute_2  { get; set; }
}

Так каков предлагаемый способ заполнения этого объекта с гибридным доступом и предоставления его через OData только для чтения?service?

  1. Использовать провайдер данных EF - создать представление в БД № 1, которое имитирует эту сущность.Заполните поля, доступные в db # 1, а остальные поля могут иметь несколько фиктивных значений.Создайте сущность в edmx, которая использует это представление БД.Затем в QueryInterceptor для объекта используйте другие службы OData для заполнения полей.
  2. Используйте поставщика данных Reflection
  3. Напишите поставщика данных
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...