私はEntity Frameworkを使用してSQL Serverデータベースと対話するASP.NETコアアプリケーションに取り組んでいます。これまでのところ、Scaffold-DbContext
コマンドを使用して、SQLサーバーデータベースから新しいモデルを作成していました。たとえ複数のテーブルに基づいて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つのテーブルの間で結合を達成する他の方法はありますか?
EFのどのバージョンでもデータベース間の結合はサポートされていません。ただし、各データベースを別々に照会して、linqでオブジェクトに結合することもできます。 – jrummell