Начиная с Entity Framework 4 (с Visual Studio 2010), сгенерированный код выводится из файлов T4 (Text Template Transformation Toolkit), которые вы можете редактировать, чтобы иметь полный контроль над тем, что генерируется. См. блог Олега Сыча , который является источником информации о T4. Генерация кода не проблема, и T4 открывает так много перспектив, без которых я больше не могу жить.
В настоящее время я работаю над проектом, в котором мы используем Entity Framework 4 для уровня доступа к данным, а Scrum - как метод управления гибкими проектами. От одного спринта к другому добавляется несколько таблиц, другие изменяются, добавляются новые требования. Когда вы один раз сталкивались с каждой потенциальной проблемой EF (например, зная, что значения по умолчанию из базы данных не сохраняются по умолчанию в файле .edmx, или если для столбца, который можно обнулять, не устанавливается значение NULL, и обновление конструктора не изменяет свойство сопоставления состояние), ты в порядке.
Редактировать: чтобы ответить на ваш вопрос, это EF 4, генерация кода которого основана на T4, а не на T4, поддерживающем EF. На EF 3.5 (или EF 1.0, если вы предпочитаете) вы можете теоретически использовать T4, записывая их с нуля, анализируя файл EDMX в коде T4 и создавая ваши сущности. Было бы довольно много работы, учитывая, что все это уже сделано в EF 4. Кроме того, Entity Framework 3.5 поддерживает только один тип полномочий, тогда как EF 4 как встроенные или загружаемые шаблоны для объектов POCO (которые ничего не знают). о постоянстве), Самостоятельно отслеживаемые объекты ...
Что касается самой Entity Framework, я думаю, что ей не хватало многих функций в ее первом выпуске, и, хотя ее можно было использовать, это было довольно сложно использовать. EF4 намного улучшен. В нем по-прежнему отсутствуют некоторые базовые функции (например, поддержка enum), но теперь он стал моим предпочтительным уровнем доступа к данным.