質問: 私はEntity Frameworkを使用してSQL Serverデータベースと対話するASP.NETコアアプリケーションに取り組んでいます。これまで、 `Scaffold-DbContext`コマンドを使用してSQL Serverデータベースから新しいモデルを作成していました。たとえ複数のテーブルに基づいて`DbContext`を作成したいとしても、私は上記のコマンドで`-t`フラグを使って行うことができます。すべてが単一のSQLデータベースで行われます。 ``` Scaffold-DbContext "Server=XXXXXXXXX;Database=XXXXXXXX;User Id=XXXXX;Password:XXXXXX" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -t Table1 Table2 ``` Scaffold-DbContext parametersコマンドから、別のデータベースを指定するオプションが見つかりませんでした。 新しいシナリオでは、別のSQLデータベースから2つのテーブルを結合する必要があります。異なるデータベースの2つのテーブルで構成されるモデルを作成する方法はありますか?どちらのテーブルもそれらの間に1対1の関係を使用しています。 たとえば、DB1にはtable1があり、DB2にはtable2があります。これらの2つのテーブル(table1とtable2)で構成される`DbContext`を作成する方法はありますか? 2つの異なるデータベースから2つのテーブル間の結合を達成する他の方法はありますか?
回答: いいえ、EntityFramework(6.xでもCoreでもない)で行うことはできません。 DbContextはデータベースごとであり、同じDbContext内でのみジョインできます。 ビューを作成し、必要なモデルにビューをマップすることができますが、iirc。ビューのマッピングは依然としてEntityFramework Coreのロードマップ上にあります。 EntityFramework 6.xで動作するかもしれません。 **編集:** 少なくともあなたはLinq / Fluent APIでそれをすることはできません。あなたは生のクエリを実行することができます。キャッチ:プロジェクトはモデルと正確に一致する必要があります。モデルのフィールドがないことはありません。非エンティティへのアドホックマッピングは、EntityFrameworkコアの将来のバージョンのロードマップにあります