2009-03-24 9 views
1

Eine LinqToSQL-Kontextklasse ist standardmäßig mit DatabaseAttribute versehen. Es ist jedoch optional. In jedem Szenario kann ich daran denken, dass Sie die Verbindungszeichenfolge verwenden, um auf eine Datenbank zu zeigen. Was ist der Grund dafür? Jetzt habe ich offensichtlich Dokumente gelesen. In diesem Status geben Sie eine Standarddatenbank an, wenn Sie sie aus der Verbindungszeichenfolge entfernen möchten. Aber ... warum oh warum willst du das machen? irgendwelche Vorschläge?Was ist der Punkt von DatabaseAttribute in LinqToSQL?

Antwort

0

Hmm .... gute Frage. Ich kann mir keinen guten Zweck dafür vorstellen. Wenn Sie mehrere Datenbanken (verschiedene Datenkontexte) von einer einzigen Verbindung aus überbrücken möchten (was zunächst keine gute Idee ist), wäre es immer noch ziemlich nutzlos, da es für alle Instanzen der Daten behoben wäre -Kontext.

In jedem vernünftigen Fall kann ich mir vorstellen, die Verbindung definiert die Datenbank, oder es ist ein Nicht-Problem (Standalone-DB-Dateien, usw.). Ich frage mich, ob es nicht einfach dort hingelegt wurde, weil es (das Wissen des Datenbanknamens) existierte, und so wäre es (theoretisch) auf die gleiche Weise erhältlich ...

0

Es ist schwer zu wissen, was das Design Team dachte zu der Zeit.

Meine Vermutung ist es, optionale Konfigurationen mit einer standardmäßigen allgemeinen Verbindungszeichenfolge in einer App mit mehreren Datenbanken zu ermöglichen. Dies wird nicht integriert unterstützt, so bezweifle ich es. Dies würde es ermöglichen für so etwas wie:

<add name="GeneralConnection" ... /> 
<add name="GeneralConnection.SomeDataContext" ... /> 

Alle Daten Kontexte konfiguriert werden, würden den GeneralConnection zu zeigen. Ein zusätzlicher Code zum Abrufen der Datenkontextinstanz würde überprüfen, ob GeneralConnection.ThatDataContext vorhanden ist, und in diesem Fall den Konstruktor mit der Verbindungszeichenfolge verwenden.

Es ist nur eine Vermutung. Ich hatte kein ähnliches Bedürfnis, und ich glaube nicht, dass ich mich auf so etwas verlassen würde.

Verwandte Themen