Для оптимизации - имеет смысл, это действительно ускорит сложные запросы. Разницы нет, сколькими способами Вы будете доставать данные из бд в контроллере. Сборка загрузится один раз, и если она будет висеть без дела, погоды это не сделает. Вы можете сделать дополнительную прослойку Репозитория между бд и контроллером и внутри наделать методов которые будут хоть через EF, хоть через ADO.NET, или еще через что доставать данные.