2009-03-26 25 views
0

Ist es möglich, eine 'Entity' zu erstellen, die eine Abstraktion einer Beziehung zwischen Tabellen ist, die in zwei verschiedenen Tabellen, in zwei verschiedenen Datenbanken, auf zwei verschiedenen Maschinen und vielleicht sogar mit zwei verschiedenen dbms?ADO.NET Entity Framework - LINQ zu mehreren dbms

Zum Beispiel, wenn ich eine SQL Server-Datenbank auf einer Maschine habe, die alle meine Kunden speichert, und ich habe eine Oracle db auf einer anderen Maschine, die alle meine Aufträge speichert, ist es möglich, dies in eine Entität und dann zu wickeln Verwenden Sie die Entität in einem LINQ-Ausdruck, als ob sie zusammen wären?

Danke!

Antwort

1

Wow, das wäre die ultimative n-Tier-Lösung!

Nicht so weit ich weiß. Es sei denn, Sie erstellen eine Ansicht und binden EF an die Ansicht, aber dann wäre sie (natürlich) schreibgeschützt.

0

Sie können mehrere dbml-Dateien mit unterschiedlichen Namespaces für jede Datei verwenden (wie Myproject.Data.Customer, Myproject.Data.Orders etc ..).

Ich denke, auf diese Weise können Sie mehrere Datenbanken auf verschiedenen Rechnern verwenden. Die Verwendung unterschiedlicher Namespaces für verschiedene dbs bietet eine sehr gute Isolation. Dadurch können Sie jede db-Schicht getrennt halten und separate Personen/Teams können unabhängig voneinander auf jeder Schicht arbeiten.

Sie können alle diese in einzelne Schichten/Namespace setzen, aber das wird die Dinge komplizierter und schwierig zu pflegen machen.

Verwandte Themen