Как проекты базы данных Visual Studio 2013 работают с TFS online и EntityFramework кодами первых миграций

Довольно длинное название, но, надеюсь, само собой разумеющееся!

Я запускаю новый проект в Visual Studio 2013, используя Entity Framework 5.0 с первыми миграциями кода.

Я подключил свой проект к TFS Online с помощью git - мне интересно попробовать TFS Online, поскольку он предлагает управление исходным кодом для 5 бесплатных проектов (аналогично BitBucket), но с сильной интеграцией Visual Studio.

Я не использовал проекты базы данных в Visual Studio 2013, и я нашел мало информации о том, как все это сочетается.

То, что я пытаюсь добиться, - это создать простое решение Visual Studio с двумя проектами - одним из проектов MVC.NET и другим проектом базы данных. Моя цель состоит в том, что первые миграции кода сделают необходимые изменения в сценариях sql в проекте базы данных (которые управляются с помощью git источника управления). Мой web.config указывает на локальный файл .mdb в качестве моей базы данных, который обновляется, когда я запускаю базу данных обновлений в EF, и это то, что я считаю проблемой.

Как я могу указать EF для использования моего проекта базы данных для переноса кода, а затем как я могу автоматически создать свою базу данных разработки в локальном файле .mdb при отладке моего решения?

Ответы

Ответ 1

Код Entity Framework First - это способ управления вашей схемой SQL. Единственный источник правды живет в вашей базе кода. Миграции добавляют способ перехода от одной версии схемы к другой. Схема SQL является побочным продуктом процесса сборки.

Проекты базы данных SQL Server - это также способ управления вашей схемой SQL. Единственный источник правды живет в вашем проекте базы данных SQL Server. Вы можете использовать схему для создания сценариев, которые переходят из одной версии в другую.


Учитывая, что эти технологии перекрываются в их намерениях и функциональности, на самом деле не имеет смысла использовать их вместе. Когда вы используете сущность Framework Code First, используйте Migrations, когда сможете (и когда возможностей достаточно для вашей ситуации).

Если вы не можете использовать Migrations, вы можете использовать проекты базы данных SQL Server для управления схемой и сохранения их в исходном управлении.

Примечание:

Вам следует рассмотреть возможность установки SQL Server Data Tools в качестве замены для проектов базы данных SQL Server, если вы хотите их использовать. Инструменты данных - это более продвинутая версия этих проектов, даже если они могут потребовать, чтобы Visual Studio 2012 выполнялась на данный момент. Я подозреваю, что версия для Visual Studio 2013 будет доступна, когда Visual Studio 2013 поразит RTM