DbContext
(CoreContext
という名前)のコアプロジェクトを持つソリューションで作業しています。このコンテキストには、一般的な製品に共通の検証規則を提供する抽象クラス(ProductConstraints)を参照するエンティティ(Product)が含まれています。この文脈は決して直接使用されない。 CoreContext
(ProductXContextとして)とProductConstraints
(ProductXConstraints)の両方のクラスを継承する同じソリューションに、特定の製品のカスタム検証ルールを実装する3つのプロジェクト(Product1、Product2、Product3)が3つあります。Code Firstの複数のコンテキスト(同じベースの)を動的に切り替える方法
また、カスタムCodeFirstMembership
を含む別のプロジェクトもあります。 'User'エンティティには、ユーザーが操作する製品を定義する 'Product'プロパティが含まれています。
最後に、現在のユーザーの「製品」情報に基づいて適切なコンテキストをインスタンス化するMVC3プロジェクトがあります。この製品を受け取ったContextFactory
のようなものを作成し、正しいDbContext
を返します。私はいくつかのアプローチを試みましたが、大きな成功はありませんでした。
でコンストラクタ・インジェクションを使用できますか?何が失敗した? –
私は反射を使ってみましたが、いくつかの依存関係の問題がありました。 –