web-dev-qa-db-ja.com

EntityFrameworkコードの最初の集中型データベース展開

私はもともとスタックオーバーフローにこれを投稿しましたが、ここがこのようなものを尋ねるのに適した場所であると言われました。他に同様の回答の質問は見つかりませんでしたが、ある場合はリンクを教えてください。

メインサーバー(MSSQL)でホストされているデータベースを使用するソフトウェアを開発しています。複数のクライアントをいつでも同じサーバーに接続できます。私はコードファーストアプローチでEntityFrameworkを使用しています。

私の懸念は、データベースがどのように展開され、後で更新されるかです。一元化されたデータベースについて話しているので、クライアントのいずれかによって実行される自動データベース移行は、私の意見では問題外です。サーバー(データベース)に接続し、データベースの作成(初回のみ)と必要に応じて移行を実行する別のサーバー構成アプリを使用することを考えていました。

また、私の場合、データベースの自動移行が機能しないと思う理由は、クライアントが実行されるたびに、データベースで使用可能な移行があるかどうかを確認し、ある場合はそれを適用するためです。ただし、これにより、まだ更新されていない他のクライアントで問題が発生する可能性があります。そのため、どのクライアントからも独立してデータベースを更新する構成アプリが必要だと思います。

これは問題を解決するための良い方法だと思いますか、それとももっと良い方法がありますか?

2
Phoenix

投稿してからしばらく経ちましたが、まだまだ興味のある方がいらっしゃるので、選んだもので更新したほうがいいと思いました。

クライアントが接続してデータを取得するセルフホストのWCFサービスを使用することにしました。このサービスは、データベースの作成と移行を担当し、接続できるようにするために更新が必要かどうかをクライアントに通知します。

これが私の場合の最良の解決策だと思います。

1
Phoenix