web-dev-qa-db-ja.com

本番環境でのEntityFrameworkのCodeFirstコンセプトの使用

私はアプリケーションを開発していて、_Entity Framework Code First_の概念を使用したデータベースを持っています。私はこのアプローチがとても好きです。 EFの最新バージョンである6.1.1を使用しています。

私の主な関心事は、データを失うことなくデータベースの変更に対処する方法です。私はかなりの数の変更を行いましたが、それらの変更のいくつかは、移行プロセス中に苦労しました。データベースを削除して、Seed()などで最初からやり直す必要がありました。

私の質問は、本格的なビジネスアプリケーションの本番環境で_Code First_を使用できるかどうかです。データベーススキーマはそれほど大きくはなく、約20のテーブルがあり、そのうちの半分未満が単なるルックアップテーブルです。

この種の質問は以前に尋ねられましたが( this postを参照)、EFはそれ以来大きく進化してきました。そして、私はこの質問にかなりの時間苦労しています。心の安らぎとおやすみなさい。

1
Quoter

答えは「はい」です。もちろん、本番環境ではCodeFirstを使用できます。私はそれに成功する多くのプロジェクトを見てきました。 EFの移行エンジンを使用できます。周りにはたくさんの例があります。または、 FluentMigrator のような別の移行フレームワークを試してみることができます。

また、導入のグッドプラクティスに従えば、本番環境で移行を使用する危険はありません。実稼働前に移行をテストできるDEV、STAGEサーバーがあり、+各PRODリリースの前にデータベースのバックアップを作成します。理想的には、これらすべてのプロセスが継続的インテグレーションサーバーから管理されている場合です。

2
ialekseev