EF DbContext из базы данных по сравнению с EF Power Tools обратного проектирования из базы данных. В чем разница?

Я использую существующую базу данных, и мой обычный метод — добавить новую модель данных объекта и указать ее на существующую базу данных. Если бы я использовал электроинструменты EF и обратный инжиниринг, чтобы сделать стиль «сначала код», в чем преимущество этого?

Оба класса наследуются от DbContext, верно? Итак, может ли кто-нибудь объяснить мне, какое преимущество может иметь работа с кодовой базой с течением времени, если вместо этого я буду использовать инструмент обратного проектирования EF Power Tools?


person punkouter    schedule 22.08.2013    source источник


Ответы (1)


Code First для существующей базы данных создает вашу модель (во время выполнения) из ваших классов C#. . Database First сохраняет модель в файле .edmx и генерирует ваши классы (в время проектирования).

Видео Рабочие процессы разработки Entity Framework дает хороший обзор. В конечном итоге все сводится к тому, хотите ли вы поддерживать свою модель с помощью поверхности конструктора или с помощью классов C#.

Стоит также отметить, что если вы хотите использовать Code First Migrations, вам необходимо использовать Code First, так как в настоящее время он не работает с Database First.

person bricelam    schedule 22.08.2013
comment
Итак, что касается кода, использующего любой из них, он точно такой же? В моем случае у меня есть человек БД, который время от времени вносит изменения в БД, поэтому я создаю новый файл модели данных сущности, когда он это делает, и указываю на обновленную БД... Так что в этом случае код сначала в существующую БД не сделает смысл в том, что после преобразования изменения поступают из БД, а не из кода. Да? - person punkouter; 22.08.2013
comment
@punkouter Правильно, код, использующий DbContext и сущности, в любом случае одинаков. Вы можете перепроектировать после изменения базы данных, но я думаю, что вы правы, Database First звучит так, как будто она идеально подходит для ваших нужд, поэтому нет веских причин для перехода. - person bricelam; 23.08.2013