Web API プロジェクトでは、ユーザー入力に基づいてデータ コンテキスト接続を変更する機能が必要になることがよくあります。この場合、接続文字列は動的で調整可能である必要があります。
接続文字列を構築するには、SqlConnectionStringBuilder
と EntityConnectionStringBuilder
が使用されます。 SqlConnectionStringBuilder
は SQL 接続パラメーターを構成し、EntityConnectionStringBuilder
は Entity Framework 接続の詳細を設定します。
データ コンテキスト接続を変更するには、ChangeDatabase
という名前の拡張メソッドを使用できます。このメソッドは、新しいデータベースの詳細と、基本 EF クラス名と異なる場合の接続文字列名を指定するオプションのパラメーターを受け入れます。
ChangeDatabase
メソッド内で、既存の接続文字列を使用して EntityConnectionStringBuilder
を初期化します。次に、SqlConnectionStringBuilder
を作成し、指定されたパラメーターを設定します。最後に、変更された接続文字列がデータ コンテキスト接続文字列として設定されます。
Web API プロジェクトでは、接続文字列は通常、ユーザーのログイン中に設定され、ユーザーの操作中に持続する必要があります。永続性を確保するために、接続文字列はセッション変数、アプリケーション レベルのキャッシュ、または永続性リポジトリに保存できます。
ChangeDatabase
拡張メソッドを使用し、接続文字列の永続性を実装することにより、ユーザーの選択に基づいて実行時に Entity Framework の接続を動的に変更できます。
以上がWeb API で実行時に Entity Framework 接続を動的に変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。