Относительно этого
Я хочу реализовать полную инкапсуляцию Entity Framework. в
обеспечить разделение интересов и не зависеть от EF в
будущее как ORM
Обычно, если вы пойдете по этому пути, вы сами создадите много проблем. Если вы выбираете EF, вам действительно следует полностью использовать возможности, не скрывая этого за другой абстракцией.
Сам EF уже является слоем абстракции над БД, нет необходимости создавать еще одну абстракцию поверх этого.