Nachdem ich zwei Tabellen aus einer Datenbank gezogen habe, wechsle ich zu einer anderen und ziehe eine Tabelle hinein. Jetzt bekomme ich eine Nachricht, wenn ich die Verbindungszeichenfolge durch die neue ersetzen möchte. Ich möchte Tabellen aus mehreren Datenbanken in einem DBML. Ist das möglich?Tabellen aus zwei verschiedenen Datenbanken in einem DBML?
Antwort
Ich glaube nicht, dass das, was Sie suchen, möglich ist, da der DataContext dann keine einfache Möglichkeit hat, Ergebnisse aus zwei getrennten Datenbanken zu berechnen.
Wenn Sie Domänenobjekte aus zwei separaten Datenbanken erstellen möchten, sollten Sie zwei separate DBMLs verwenden und dann eine Brücke (GOF) oder ein anderes verwandtes Designmuster verwenden, um Ihre Domänenobjekte zu instanziieren.
Eine weitere Option besteht darin, eine Serververknüpfung in einer Datenbank zu erstellen, die auf die andere verweist und Aliasnamen für die Remotetabellen aus der lokalen DB erstellt. Ich glaube, dann könntest du auf sie verweisen, als ob sie alle in derselben Datenbank wären.
Während dies eine technisch korrekte Antwort ist, wäre das nicht eine schlechte Praxis zu folgen? Ich musste in der Vergangenheit mit Verbindungsservern umgehen, und meiner Erfahrung nach war es in Bezug auf Wartbarkeit oder Leistung nicht schön –
Es ist durchaus möglich, mehrere Datenbanken innerhalb derselben DBML zu referenzieren, vorausgesetzt, diese Datenbanken befinden sich auf demselben SQL Server.
Klicken Sie in Visual Studio mit der rechten Maustaste auf die DBML, klicken Sie auf "Öffnen mit ...", und wählen Sie XML (Text) -Editor mit Codierung.
Sie werden sehen, Ihre erste Tabelle, die Sie in sieht wie folgt gezogen:
< Tabellenname = "dbo.MyTable1fromMyDatabase1" Member = "MyTable1fromMyDatabase1" >
Für Ihre Tabellen aus anderen Datenbanken, die Sie hinzufügen möchten, geben Sie sie wie folgt ein:
< Tabellenname = "MyDatabase2.dbo.MyTable1fromM yDatabase2" Member = ‚MyTable1fromMyDatabase2‘ >
Dies funktioniert die gleiche Anmeldung für beide Datenbanken arbeitet unter der Annahme, und Ihre LINQ
Ausdrücke können nun über beide Datenbanken abfragen!
Wir können auch eine Ansicht erstellen, die die Tabelle in der anderen Datenbank abfragt. Wir können diese Ansicht auswählen, einfügen und aktualisieren, was sich auch auf die Tabelle in der anderen Datenbank auswirkt.
- 1. Wie verknüpfe ich zwei Tabellen aus zwei verschiedenen Datenbanken?
- 2. wie beitreten Tabellen von zwei verschiedenen Datenbanken
- 3. SQL-Abfrage Tabellen aus verschiedenen FDB Datenbanken
- 4. Anzeige von zwei Feldern aus verschiedenen Datenbanken
- 5. Join 2 Tabellen aus 2 verschiedenen Datenbanken in R
- 6. Trigger zwei Tabellen aus zwei verschiedenen Datenbanken zum Einfügen von Daten (SQL Server)
- 7. Synchronisieren von phpMyAdmin Datenbanken/Tabellen automatisch auf zwei verschiedenen Servern
- 8. Schienen mit zwei verschiedenen Datenbanken
- 9. Unterschiedliche Datenbanktabelle in einem dbml
- 10. SQL-Werte aus zwei verschiedenen Tabellen
- 11. Wie Datensatz aus zwei verschiedenen Tabellen wählen
- 12. Leistungseffekt der Verknüpfung von Tabellen aus verschiedenen Datenbanken
- 13. Doing über 2 Tabellen in verschiedenen Datenbanken mit Hibernate
- 14. Kombination von zwei verschiedenen DbContexts (LINQ) aus separaten Datenbanken
- 15. Erstellen von Tabellen mit Feldern aus zwei verschiedenen Tabellen
- 16. Composite-Primärschlüssel mit zwei Fremdschlüsseln aus zwei verschiedenen Tabellen mvc
- 17. Wie kann ich Tabellen aus zwei verschiedenen Datenbanken mit der Funktion posgresql aufrufen oder auswählen?
- 18. Wie kann ich zwei Tabellen aus verschiedenen Datenbanken mit PostgreSQL verbinden?
- 19. Daten aus einer Datenbank aus zwei verschiedenen Tabellen abrufen
- 20. Wie kann ich zwei Felder aus zwei verschiedenen Tabellen in einem Django-Join auswählen?
- 21. JPA: Eine Tabelle mit zwei verschiedenen Datenbanken
- 22. Mapping-Tabellen in verschiedenen Datenbanken über @Table Annotation
- 23. Codeigniter Tabellen aus 2 Datenbanken zusammenfügen
- 24. Verbundfremdschlüssel aus zwei verschiedenen Tabellen Primärschlüssel in Oracle
- 25. Übereinstimmende IDs in zwei verschiedenen Tabellen
- 26. Kann ich Daten aus zwei verschiedenen DB2-Datenbanken verknüpfen? (Wie SQL Server verknüpfte Datenbanken)
- 27. Problem mit zwei Tabellen mit demselben Namen in verschiedenen MVC-Modellen?
- 28. Wie verknüpfe ich zwei Tabellen, die sich in verschiedenen Datenbanken in Hive befinden?
- 29. Daten aus Datenbank aus verschiedenen Tabellen holen
- 30. SQL Server: Daten aus verschiedenen Datenbanken sammeln
Haben Sie Links, wie das funktionieren würde? Ich denke, ich habe eine ähnliche Situation. Ich habe eine Master-Datenbank, die eine Liste von Clients und den Servernamen und den Datenbanknamen für jeden der Clients enthält. Sie alle haben eine identische Datenbankstruktur. Daher möchte ich das Modell abhängig vom ausgewählten Client aus verschiedenen Datenbanken füllen. – stephenbayer
@stephenbayer - deine Situation ist eigentlich ein bisschen anders. Da die Daten nicht auf mehrere DB verteilt sind, ist Ihre Arbeit etwas einfacher. Erstellen Sie einen Dienst (Web, Soap, Rest, spielt für diese Diskussion keine Rolle), der wissen kann, wie Sie Ihren DBs eine Verbindungszeichenfolge oder ein Datenbank-Präfix (sicherer) zuordnen können. Verwenden Sie eine Client-ID als Index, um die bestimmte Datenbank zu finden. Ihre App kann diese Client-Datenbank nach Informationen zur Verbindung mit der spezifischen Datenbank abfragen. –