У меня есть простая маленькая модель данных, похожая на следующую:
InventoryContext
{
IEnumerable<Computer> GetComputers()
IEnumerable<Printer> GetPrinters()
}
Компьютер
{
public string ComputerName { get; set; }
public string Location { get; set; }
}
Принтер
{
public string PrinterName { get; set; }
public string Location { get; set; }
}
Результаты получены из источника, отличного от SQL, поэтому эти данные не поступают из Entity Framework, подключенного к базе данных.
Теперь я хочу предоставить данные через службу OData WCF. Пока что я нашел единственный способ сделать это - создать свой собственный поставщик запросов на обслуживание данных, согласно этому уроку блога:
http://blogs.msdn.com/alexj/archive/2010/01/04/creating-a-data-service-provider-part-1-intro.aspx
... это здорово, но кажется довольно сложным делом. Код для поставщика будет в 4 раза длиннее, чем вся моя модель данных, чтобы сгенерировать все наборы ресурсов и определения свойств.
Есть ли что-то вроде универсального поставщика между Entity Framework и записью собственного источника данных с нуля? Может быть, какой-нибудь способ создать объектный источник данных или что-то подобное, чтобы волшебные единороги WCF могли собрать мои данные и улететь на закат без необходимости явно кодировать провайдера?