人々は Entity フレームワークで巧妙なことをしていますが、私は非常に単純なことをしていると思います。
2 つの別個のデータベースがあります。データベース A とデータベース B。
これらのデータベースへのコンテキストを個別に作成する必要があるため、いずれかのコンテキストをインスタンス化するファクトリ パターンが必要です。データベースファーストのアプローチを使用しようとしています。
Nuget パッケージ マネージャー経由で Entity Framework を参照し、Visual Studio を使用して新しいアイテムを作成しました。選択できる EDMX 拡張子を持つアイテムは「ADO.NET Entity Data Model」だけだったので、それを使用してデータベース A を選択しました。
EDMX ファイルが生成され、エンティティが表示されます。プログラムでそれらにアクセスする場合、エンティティはデフォルトのネームスペースにダンプされています。これは、my.namespace.datasource.TableA に移動することで、エンティティの IntelliSense を取得することを意味します。
同じ領域に別の EDMX ファイルを作成すると、同じエンティティが同じ場所にダンプされ、競合が発生します。
私が得るエラーの例は次のとおりです。
「型 'my.namespace.datasource.Entities' には既に 'TableA' の定義が含まれています」
どうしてこれなの?エンティティが存在する EDMX ファイルの既定の名前空間を作成しないのはなぜですか? 複数の EDMX ファイルを調和させ、必要なときに個別のコンテキストを提供するにはどうすればよいですか?
どんな助けでも大歓迎です!
乾杯、
カール。