Ответ 1
ObjectContext не устарел. Фактически DbContext - это всего лишь слой поверх ObjectContext. API DbContext имеет гораздо более удобный/меньший API и с ним легче работать. Кроме того, организации POCO намного чище. Это стало причиной изменения генерации кода. Если вы все еще хотите использовать объектные объекты ObjectContext и EntityObject, удалите файлы *.tt в файле *.edmx. Дважды щелкните файл edmx, чтобы открыть его в дизайнере. Нажмите на поверхность дизайнера. В свойствах изменения "Стратегия генерации кода" от "Нет" до "По умолчанию".
ИЗМЕНИТЬ
Поведение немного изменилось в дизайнере EF6, который поставляется с VS2013 (и доступен для загрузки для VS2012). Если вы используете EF5, два варианта: "T4" и "LegacyObjectContext". Если вы используете EF6, выпадающий список отключен. Если вы хотите использовать ObjectContext в приложении EF6, вам нужно использовать Генератор объектных объектов для EF6 (обратите внимание, что эта ссылка указывает только на одну версию шаблона, но на самом деле несколько версий в зависимости от того, что вам нужно - С# vs. VB.NET, WebSite не-WebSite - здесь - это список). Подробнее об изменениях в инструментах EF6 можно найти здесь.