2015-05-18 4 views
0

Использование кода во-первых, есть способ генерации сущностей классов из существующей базы данных? Я получаю, как использовать миграции. Я получаю, как обновлять базу данных с помощью миграции. Я не знаю, как создать набор моделей из существующей базы данных, созданной до миграции. У меня много столов.Создание сущностей из существующей базы данных

Каков подходящий поток работ здесь? Я бы предпочел не писать их вручную.

ПРИМЕЧАНИЕ: Я НЕ МОГУ ИСПОЛЬЗОВАТЬ EDMX. Поэтому не регистрируйте это как дубликат из тысячи вопросов, которые говорят «просто создайте файл edmx».

ответ

1

Я перемещаю основной проект с использованием кода First в существующую базу данных. https://msdn.microsoft.com/en-us/data/jj200620.aspx. Первое, что я сделал, это изменить шаблоны по умолчанию, чтобы свести к минимуму изменения, необходимые для пространства имен и т. Д. (Я перемещаю классы в другой проект после их создания). https://msdn.microsoft.com/en-us/data/jj593170.aspx Затем я перепрограммирую небольшие группы связанных таблиц, создаю миграцию, проверяю все, что находится в коде Up(), соответствует моей базе данных, комментирует код Up() и обновляет базу данных. Вы также можете добавить миграцию с помощью -IgnoreChanges, но мне нравится видеть код. Через некоторое время я переворачиваю все небольшие миграции в одну миграцию, используя эту технику http://cpratt.co/migrating-production-database-with-entity-framework-code-first/#at_pco=smlwn-1.0&at_si=54ad5c7b61c48943&at_ab=per-12&at_pos=0&at_tot=1.

В некоторых ссылках упоминаются EF Power Tools, но я не думаю, что мне нужно было установить их для обратной инженерии (VS 2013, EF 6.1.2). Мне нужно было установить этот пакет Nuget для шаблонов: https://www.nuget.org/packages/EntityFramework.CodeTemplates.CSharp/

+0

Это была одна из первых вещей, которые я пробовал. Я не знаю, как Google. «ADO.NET Entity Data Model» больше не существует как добавочный элемент. Даже если он все еще существует в 6.1.2, я бы лучше научился делать это для будущих проектов. Кроме того, этот оригинальный проект был написан в ASP. Нечего мигрировать. – Jordan

+0

@Jordan: У вас есть [Инструменты платформы Entity для VS] (https://www.microsoft.com/en-us/download/details.aspx?id=40762)? – afrazier

+0

OK, я вижу Entity Framework 6.1.1. Инструменты для Visual Studio 2013, установленные под панелью управления, без ссылки внутри VS. –

Смежные вопросы