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