2008-12-18 6 views
5

Ich habe zwei Entitäten, die jeweils aus einer anderen Datenbank und daher verschiedene edmx-Dateien. Es besteht jedoch eine verzerrte Beziehung zwischen ihnen.Linq zu Entities/Entity Framework Cross edmx "Join"

Foo hat viele Bar s zum Beispiel.

Was ist der einfachste Weg, um diese Verbindung im EntityFramework mit möglichst wenigen Datenbankaufrufen durchzuführen?

Danke.

Antwort

4

Sie können dies tun, indem Sie Modellübergreifende Navigationseigenschaften hinzufügen. Dies erfordert eine manuelle Bearbeitung des EDMX. Es gibt ein Beispiel, einschließlich LINQ to Entities, here.

+1

Wissen Sie, ob das generierte SQL geht Cross-Datenbank oder behandelt es als Aufruf an die Datenbank ein, dann einen Aufruf an die Datenbank b? – NikolaiDante

1

Sie können dies tun, indem Sie Ansichten verwenden, um Daten in der anderen Datenbank darzustellen. Lesen Sie über cross database joins in EF

+0

Ich verwende dieses Ansichtsmodell. Aber wenn Sie eine neue Entität benötigen, enthält einige Eigenschaften von einem edmx und einige andere Eigenschaften von anderen edmx. Außerdem möchten Sie eine neue Instanz dieses neuen Entityset erhalten und CRUD-Operationen damit durchführen. Schließlich müssen Sie dieses Entityset für verschiedene Modelle trennen. Das mögen wir. Auf der Projektseite "Bus" hat einer meiner Freunde ein solches Modell entwickelt. Sie können verschiedenen Entitäten von verschiedenen Modellen mit unserem Framework beitreten und jeder Entität ihren Pfad finden. Aber ich suche immer noch nach besseren Praktiken. –