EF7 отказывается от моделирования XML в пользу кода в первую очередь


Microsoft отказывается от некоторых способов моделирования данных в следующей версии Entity Framework (EF), чтобы сделать инструмент базы данных более легким.

В текущей версии инструмента объектно-реляционного моделирования у вас есть два способа хранения моделей — в коде или с использованием формата EDMX на основе XML.
Вы можете начать новый проект, создав модель (Model First), создав базу данных (Database First) или определив модель в коде (Code First).
Если вы используете технику Model First, вы создаете проект базы данных в визуальном конструкторе, определяя модель в терминах структур объектов, отношений и ограничений. Затем они преобразуются в фактические таблицы и индексы в целевой базе данных. Если вы используете подход Code First, вы создаете свой дизайн, написав код, состоящий из классов, определяющих объекты вашей базы данных. Однако существует инструмент, который может преобразовать существующую базу данных в код, позволяющий использовать Code First без создания новой модели с нуля.
В будущей версии EF Microsoft отказывается от формата модели EDMX в пользу только кода. Причины этого не совсем ясны. По словам Роуэна Миллера, менеджера программ группы ADO.NET Entity Framework, основной драйвер — обеспечение возможности использования EF на новых платформах и новых хранилищах данных. В блоге ADO.NET Миллер говорит:
«Entity Framework — популярный вариант доступа к данным для традиционных клиентских и серверных приложений, ориентированных на полную .NET Framework. Сюда входят приложения, созданные с использованием таких технологий, как WPF, WinForms и ASP.NET. Заглядывая в будущее, мы полагаем, что есть смысл в предоставлении той же модели программирования для доступа к данным на остальных платформах, где разработка .NET является обычным явлением. Сюда входят Windows Store, Windows Phone и оптимизированная для облака .NET, о которой было объявлено на TechEd. EF7 будет работать на всех этих платформах, а также на Mono, как на Mac, так и на Linux ».
Это звучит так, как будто визуальный дизайнер упал, но в сообщении блога говорится:
«Конструктор EF полностью посвящен визуализации модели, а в EF6.x у нас также была возможность создавать визуализацию модели на основе кода только для чтения (с помощью EF Power Tools). Мы все еще думаем, какой подход лучше всего использовать в EF7. Определенно есть ценность в возможности визуализировать модель, особенно когда у вас задействовано много классов ».
Звучит так, как будто дизайнер все равно будет включен, а то, что удаляется, — это просто XML-представление.
Сообщение в блоге пытается успокоить пользователей EF, говоря:
«Code First — действительно альтернатива файловому формату EDMX. Концептуально Code First поддерживает рабочие процессы как Database First, так и Model First. Сбивает с толку … мы знаем. Мы ошиблись в названии. Было бы намного яснее назвать это чем-то вроде «моделирование на основе кода» ».
Согласно Microsoft, преимущества отказа от опции Model First заключаются в основном в том, что легче вносить изменения в модель, когда она основана исключительно на коде:
«Разработчики умеют писать и отлаживать код. Хотя с дизайнером, возможно, проще справляться с простыми задачами, многие проекты заканчиваются требованиями, выходящими за рамки того, что вы можете сделать в дизайнере. Когда приходит время раскрыть и отредактировать что-то, xml сложен, а код более естественен для большинства разработчиков ».
Тем не менее, в блоге есть несколько хороших новостей для разработчиков проектов Model First, в которых говорится:
«Мы не пытаемся скрыть тот факт, что EF7 сильно отличается от EF6.x. Мы сохраняем концепции и многие API верхнего уровня из прошлых версий, но внутри есть некоторые большие изменения. По этой причине мы не ожидаем, что люди будут спешить с переносом существующих приложений на EF7. Мы собираемся продолжить разработку EF6.x в течение некоторого времени ».

Больше информации
EF7 — Что на самом деле означает «Только сначала код»

Статьи по Теме
Visual Studio CTP 3 — с EF7
Entity Framework везде
Релиз-кандидат первой доступной платформы Entity Framework с открытым исходным кодом
Entity Framework с открытым исходным кодом — хорошо или плохо?

Чтобы получать информацию о новых статьях на I Programmer, установите панель инструментов I Programmer, подпишитесь на RSS-канал, подпишитесь на нас в Twitter, Facebook, Google+ или Linkedin или подпишитесь на нашу еженедельную новостную рассылку.

Комментарии
Оставьте комментарий или просмотрите существующие комментарии с помощью Disqus
или отправьте свой комментарий по адресу: comments@i-programmer.info


Добавить комментарий