Насколько я понимаю, ваша проблема Поставщик Reflection должен отвечать всем вашим требованиям. Вам просто нужно создать некоторый класс, который будет предоставлять свойства с IQueryable<>
ваших пользовательских объектов. Поставщик Reflection работает не только с памятью - ему просто нужен класс для исследования с отражением, но реализация этого класса зависит от вас. Контексты Linq-to-Sql также доступны через поставщика отражений, и они определенно не только в памяти.
Проблема, с которой вы столкнетесь, заключается в переводе запросов к вашим пользовательским объектам в запросы к вашим сущностям, поскольку они не могут быть переведены естественным образом.