Можно ли использовать Entity Framework и проект базы данных вместе? - PullRequest
0 голосов
/ 09 октября 2019

Вчера на конференции я узнал о важности перевода вашей базы данных в систему контроля версий. Они показали нам, как сделать новый проект базы данных и импортировать базу данных.

Что меня интересует, так это то, как я могу изменить существующий проект, работающий на Entity Framework, чтобы использовать возможности проекта базы данных? Обновления схемы всегда выполнялись с помощью Entity Framework Migrations. Я понял, что проект Database сможет развернуть для меня обновления базы данных и сохранить эти сценарии обновления в систему контроля версий, но я бы хотел сохранить Entity Framework для запросов моих данных (если это вообще имеет смысл).

Можно ли (или даже рекомендуется) использовать Entity Framework для доступа к базе данных, но управлять базой данных с помощью проекта базы данных в Visual Studio? Как вы поступите об этом?

Я пытался найти похожие вопросы и с помощью Google определить, есть ли у кого-то еще такая же проблема, но пока нет игральных костей.

Я также должен заявить, что рассматриваю возможность использования этого в базах данных, в которых также есть хранимые процедуры. Они вообще не контролируются через Entity Framework и, следовательно, пока не находятся под контролем исходного кода.

Спасибо за ваше время.

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Что меня интересует, так это то, как я могу изменить существующий проект, работающий на Entity Framework, чтобы использовать возможности проекта базы данных?

Ответ: Я предлагаю вам посмотреть этот курс от PluralВзгляд: https://www.pluralsight.com/courses/code-first-entity-framework-legacy-databases

Возможно (или даже рекомендуется) использовать Entity Framework для доступа к базе данных, но управлять базой данных с помощью проекта базы данных в Visual Studio? Как вы поступите об этом?

Ответ: Да, это возможно и рекомендуется. Ваш проект данных становится источником правды о структуре вашей базы данных. Это очень мощный способ сохранить контроль над всеми изменениями и состоянием вашей базы данных в одном месте (Visual Studio). Курс из первого ответа научит вас как.

Я также должен заявить, что я рассматриваю возможность использования этого в базах данных, в которых также есть хранимые процедуры. Они вообще не контролируются через Entity Framework и, следовательно, пока не находятся под контролем исходного кода.

Ответ: Я не вижу проблем с использованием хранимых процедур. Инструмент из курса Plural Sight создаст процедуру в вашем контроле исходного кода, а реверс-инжиниринг создаст класс / метод для легкого использования процедуры.

0 голосов
/ 09 октября 2019

Я разработал такое приложение, имеющее 2 проекта: само приложение и проект SSDT для базы данных. Изменения базы данных были развернуты с помощью сценариев изменений, и в приложении были отключены миграции EF.

Все работало нормально, хотя и приносило некоторые накладные расходы. Например, было сложно доставить основные обновления / рефакторинг базы данных на уровень EF. По какой-то причине я не смог перепроектировать изменения базы данных непосредственно в приложение, поэтому мне пришлось делать это наполовину вручную: создание нового проекта, создание контекста EF для всей базы данных, а затем копирование новых / измененных файлов в основное приложение. .

(Опять же, это было почти 5 лет назад. Благодаря удаче, леса EF с тех пор улучшились.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...