Linq To SQL - wie die Eigenschaft nicht von der Tabelle, sondern von der DB kommt

Wir verwenden Linq To SQL mit unserer eigenen Datenkontextlogik, die die eine linq-Abfrage über mehrere Datenbanken hinweg ausführt. Wenn wir die Ergebnisse zurück erhalten, benötigen wir die Datenbank für jede der Zeilen. Damit...

Ich möchte eine Eigenschaft in meiner Klasse haben, die den Datenbanknamen zurückgibt (SQL Server, also DB_NAME ()). Wie kann ich das in Linq To Sql tun?

HINWEIS: Wir haben Hunderte von Datenbanken und möchten keine Ansichten in jede db einfügen. Die Rückgabe sollte als eine weitere Eigenschaft in jeder Zeile der Ergebnisrückgabe zurückgegeben werden.

1
Können Sie weitere Details zur Abfrage von mehreren Datenbanken angeben? geschieht dies innerhalb der Anwendung, vom Datenbankserver über eine gespeicherte Prozedur oder wie?
hinzugefügt der Autor Mark Cidade, Quelle

2 Antworten

In der DBML-XML-Datei können Sie das Expression-Attribut eines Column-Elements folgendermaßen festlegen:

 
2
hinzugefügt

Wie durchläuft man die verschiedenen Datenbanken? Können Sie einfach Informationen aus dem Kontext in die Abfrage einfügen? Beispielsweise:

Dim results = _
    From x In myContext.MyTables _
    Select x, info = myContext.Connection.ConnectionString
0
hinzugefügt