Вам следует взглянуть на WCF Data Services, особенно в .NET 4. Хотя вам придется создавать класс или классы контекста данных, чтобы представлять ваши сущности наряду с представлением IQueryable и реализацией IUpdatable, вы можете воспользоваться вспомогательная структура, предоставляемая WCF Data Services вместе со стандартизированным протоколом (OData) для ваших полезных данных.
В .NET 4 и Visual Studio 2010 службы данных WCF становятся все более популярными, и Microsoft выдвигает их в качестве хорошего средства доступа к данным для приложений Silverlight.
Я думаю, по крайней мере, стоит проверить. В MSDN много информации об этом, хотя я не думаю, что в некоторых местах она организована очень хорошо. Вот ссылка на раздел в MSDN о развертывании собственной службы данных WCF с использованием встроенного поставщика отражений. (В примере показан только поиск данных, потому что он намного проще, чем обновление / вставка / удаление данных, но в статье есть ссылка на то, как реализовать IUpdatable.)
Получение IQueryable через WCF Data Services должно быть довольно быстрым. IUpdatable займет немного больше времени (так как вам нужно реализовать Insert / Update / Delete для каждой сущности). Но как только вы запустите его (что не должно занять слишком много времени), вы можете легко настроить параметры безопасности, добавить пользовательские методы обслуживания и добавить дополнительные функции и / или объекты. Это хорошая структура для того, что вы описываете.
Надеюсь, это поможет.