0

2つのデータベースがあり、それぞれに対応するEntityFramework DBコンテキストがあり、Entity Framework 5、Code-Firstを使用しています。

次のようなテーブルがあります。

Table     : Foo (resides in database 1)
-- Column : Id (is primary key)
-- Column : ParentId (is foreign key into Foo)
-- Column : BarId (is foreign key into Bar)

Table     : FooBar (resides in database 1)
-- Column : Id (is primary key)
-- Column : FooId (is foreign key into Foo)
-- Column : BarId

Table     : Bar (resides in database 2)
-- Column : Id (primary key)

Foo次に、FooBarDatabase1DbContextBar内にエンティティがありDatabase2DbContextます。

FooParent(タイプのFoo)、Children(タイプのICollection<Foo>)およびBar(タイプの)ナビゲーションプロパティがありBarます。 (タイプの)および(タイプの)FooBarナビゲーションプロパティがあります。FooFooBarBar

さて、私が欲しいのは、すべてのとのすべてにロードされる.Include(foo => foo.Bar)ようにできることです。BarParentChildrenFoo

混乱しすぎていないことを願っています。

BarPS:ナビゲーションプロパティは別のデータベースにあるため、設定で問題が発生することはわかっています。いくつかの関連する回答で、ビューまたは同義語のいずれかを示唆する提案を見ました。私の状況のその側面も考慮に入れているどんな答えも大いに感謝されるでしょう。

4

1 に答える 1

2

それは不可能。クロスコンテキストクエリやクロスコンテキストの熱心な/遅延読み込みを行うことはできません。必要なすべてのFooおよびFooBarについて、自分でBarインスタンスをロードする必要があります。

于 2012-06-06T20:56:42.370 に答える