自分のプロジェクトに、データベースの多くのビューにマップするモデルがありますが、別のデータベースのビューにマップする必要があります。複数のデータベースをマッピングするEFモデル
どうすればいいですか?別のモデルを作成する必要がありますか?私はしたくないが、私はしなければならない。
自分のプロジェクトに、データベースの多くのビューにマップするモデルがありますが、別のデータベースのビューにマップする必要があります。複数のデータベースをマッピングするEFモデル
どうすればいいですか?別のモデルを作成する必要がありますか?私はしたくないが、私はしなければならない。
同じモデルでは、2つの異なるデータベースからデータを取得できません。最も簡単な方法は、他のデータベース、つまり内部的に外部DBビューを呼び出す抽象ビューからデータを呼び出して返すビューを同じデータベースに作成することです。
データベースが同義語をサポートしている場合、他のデータベースと同義語を設定し、edmx定義を1番目のデータベースの定義とマージすることができます。私はそれを行う方法を書いたhere
基本的に、2つのedmxファイルと、2つのファイルを作業中のedmxファイルにマージするスクリプトがあります。シノニムは、完全なデータベースパスを必要とせずに、1つのデータベースを別のデータベースから参照するために使用されます。他のテーブルのシノニムを作成するには、データベース内で実行する必要があります
SQLスクリプト:あなたはEntity Frameworkの内のコードの最初のアプローチを使用している場合
は、ここで他のデータベースからテーブルへのEFエンティティをマッピングする方法でありますデータベース:(流暢API)で
CREATE SYNONYM OtherDatabaseTableSynonym FOR otherdatabase.dbo.otherdatabasetable
Entity Frameworkのマッピング:私は、他のDBからのデータを使用してビューを作ることを愛するだろうか
modelBuilder.Entity<OtherDatabaseTableEntity>().ToTable("OtherDatabaseTableSynonym").HasKey(x => x.id);
ああ。実際、私はそれをしたいと思っていましたが、私には可能性が禁じられています。 :P – khr055