В настоящее время я работаю над проектом, в котором хочу впервые использовать Entity Framework. Я прочитал много информации в книгах Лермана / Миллера, в MSDN, блоге ADO.NET и здесь, в stackoverflow, о последних разработках, касающихся DbContext API и возможностей Code First Migrations, доступных с EF 4.3. Поскольку особенно последние действительно хороши, я задавался вопросом, можно ли тем временем сделать ту же самую рабочую "Модель Сначала" по центру? Можно ли выполнять миграции на основе визуального конструктора EDMX (вместо кода) после создания кода и базы данных из него?
Я нашел довольно недавнюю ссылку (2012-04), в которой говорится, что это не так (в EF 4.3): Использование инструмента миграции EF4 с подходом" сначала модель "
Во-вторых, я нашел информацию о том, что старый код и таблицы базы данных перезаписываются при попытке регенерировать их из конструктора EDMX?
Но информация, о которой я говорю, касается Power Tools: http://blogs.msdn.com/b/adonet/archive/2012/04/09/ef-power-tools-beta-2-available.aspx
Reverse Engineer Code First Эта команда позволяет однократно генерировать сопоставления Code First для существующей базы данных. [..] • Выполнение этой команды несколько раз приведет к перезаписи любых ранее сгенерированных файлов, включая любые изменения, которые были внесены в сгенерированные файлы.
Является ли это ограничение специфическим только для Power Tools Reverse Engineer Code First, или оно распространяется и на проектировщика EDMX в целом, особенно на подход «Model First» тоже?
Кроме того, в статье выше я обнаружил:
Просмотр модели данных сущности (только для чтения) Отображает модель Code First в конструкторе Entity Framework. • Это представление модели только для чтения; вы не можете обновить модель Code First с помощью конструктора.
И здесь применим тот же вопрос.
Итак, есть ли в настоящее время способ полного двустороннего моделирования без потери данных (кода и базы данных) и сохранения возможности записи в файл EDMX, что предпочтительнее после «Сначала модели»?
С какой версией EF он (уже или планируется) поддерживается, на какую версию .NET мне следует ориентироваться (достаточно 4.0?) И будет ли это работать с Visual Studio 2010 Professional? Не могли бы вы дать приблизительную оценку даты, когда вы, возможно, это осуществите?
Это, конечно, было бы потрясающе и огромным прорывом! Я думаю, что могу только приблизительно представить, сколько это будет работы, и знаю, что вы уже полностью работаете на свои предельные возможности. Я хочу поблагодарить вас за вашу отличную работу и призвать вас продолжать ее в том же духе.