Verwenden von LinqPad mit SMO

8

Ich versuche, den SMO für Sql Server 2008 R2 Standard zu verwenden, aber ich stehe immer dann auf ein Problem, wenn ich Dump an ein Objekt versuche.

Der entsprechende Code:

%Vor%

Bearbeiten:

Eine Arbeit, die ich gefunden habe, ist die Dump -Methode mit einer festen Rekursionstiefe, z. Dump(1) , aber die Ausnahme ist für jedes Objekt auf einer anderen Ebene.

    
Romoku 12.03.2013, 13:00
quelle

1 Antwort

4

Was passiert, ist, dass der Aufruf von GetEnumerator auf einer der SMO-Objekteigenschaften eine Ausnahme auslöst und LINQPad nur durch das Auslösen dieser Ausnahme und nicht durch den Rest des Objektgraphen reagiert.

Ich halte dies für einen Fehler in LINQPad und habe es daher für den nächsten Beta-Build behoben.

Aber selbst wenn dies behoben ist, werden Sie feststellen, dass das Aufrufen von Dump () auf einem SMO-Objekt ewig dauern wird, da es so viele Eigenschaften hat, deren Aufzählung ewig dauert. Daher müssen Sie entweder die Rekursionstiefe begrenzen oder Dump (true) aufrufen, was dem Klicken auf die Schaltfläche "Results to DataGrids" entspricht. Das Dumping von Ergebnissen in Daten-Grids vermeidet das Problem, da die Grids Daten träge wiedergeben.

    
Joe Albahari 05.04.2013, 04:11
quelle

Tags und Links