質問: 我々のシステムでは、各テナントが同じデータ構造を持つマルチテナントソリューションを提供することが求められています。 調査中、EF4.1とのマルチテナントについて議論した記事がありました。 これは賢明な解決策のように見えますが、可能であれば、複数のデータベース・コンテキストを避けることを推奨します。 また、現在のシングルテナントソリューションには多数の移行があります。 EF6では、特定のコンテキストをターゲットとする移行が可能で、サポートされていない場合はデフォルトが対象となります。 私はここにいくつかの質問があります: 1. EF4で指定されたもの以外のEF6を使用している場合、マルチテナンシーへのより良いアプローチはありますか? 2. 移行を処理するためのより良い方法はありますか? どんな助けでも大歓迎です!
回答: 1. コンテキストが接続文字列に接続しています。実行時に接続文字列が解決された場合は、特定のインスタンスのhttprequestで1つのdbcontextクラスを使用しています。 httprequestを区別するために、ホスト名ヘッダーを使用できます。 2. 移行を簡単に処理する方法はありません。これは複雑な質問ですが、リリース1の終了前には、通常、すべてのスクリプトでデータベースをプロビジョニングする初期移行を作成します。これは、この変更後にデータベースを作成するのに役立ちます。 。私はそれを変更する必要があるたびに移行を追加します。詳細が必要な場合はお知らせください。