Odata endpoint/DataService usando ienumerable
Pergunta
Estou usando o Nibernate com o Nibernate.linq e tenho um monte de módulos de carregamento dinamicamente cada um com seus próprios poco e mapeamentos (ClassMapPoco>).
Eu criei serviços ODATA antes, mas normalmente com um DataContext e iQueryable como propriedades/getters.
O que eu quero é criar o serviço passando em Ienumerable, para o construtor
IEnumerable<IQueryable>> queryableObjects;
var dataService = new DataService(queryableObjects);
Tudo isso é possível?
Solução
É factível, mas requer mais trabalho. A maneira de fazer isso é implementar seu provedor de clientes. Um guia muito bom como fazer isso está aqui:http://blogs.msdn.com/b/alexj/archive/2010/01/07/data-service-providers-getting-started.aspx
Também existem amostras legais como parte do kit de ferramentas do Odata Provider, que pode ser encontrado em http://www.odata.org/developers/odata-sdk.