Subsonic 3.0.0.3 generiert keine Parameter für gespeicherte Prozeduren

8

Ich habe eine SQL Server 2008-Datenbank mit einer Menge gespeicherter Prozeduren. Wenn ich die ActiveRecord-Vorlage verwende, die mit Subsonic 3.0.0.3 bereitgestellt wird, generiert es Methoden für alle meine gespeicherten Prozeduren, aber sie haben keine Parameter. Ich bin dbo auf dem Server und kann die gespeicherten Prozeduren ohne Problem von Management Studio ausführen.

Beispiel gespeicherte Prozedur

%Vor%

Mustergenerierte Methode

%Vor%

Wenn ich SQLServer.ttinclude überprüfe, kann ich sehen, dass alle Methoden zum Abrufen gespeicherter Prozeduren dort sind, aber aus irgendeinem Grund nicht generieren. Und das ist kein Problem von Unterstreichungen in den Namen der gespeicherten Prozedur - das ist mit und ohne Unterstriche gebrochen.

Irgendwelche Ideen oder jemand weiß, wie man eine Vorlagendatei debuggt?

    
Mike Stonis 28.08.2009, 20:34
quelle

4 Antworten

13

Ich hatte das gleiche Problem, und ich musste den SQLServer.ttinclude optimieren, damit er funktioniert. In dieser Datei finden Sie die Methode GetSPParams() und ändern Sie eine Zeile:

von

%Vor%

bis

%Vor%

.

BlackMael's Antwort hat einen hilfreichen Link, der mir geholfen hat, herauszufinden, wie man den Vorlagencode debuggt und durchgeht.

Jetzt bin ich mir noch nicht 100% ig sicher, dass meine Veränderung eine gute ist (es könnte negative Auswirkungen haben). Ich hatte nur keine Gelegenheit, es gründlich zu testen und muss mehr über Restrictions nachlesen, da sie sich auf die Methode GetSchema() beziehen. Aber im Moment hat das mein Problem gelöst und ich kann meinen gespeicherten proc-Parameter erfolgreich übergeben.

Update: Dies kann etwas damit zu tun haben, dass meine DB-Datei in die VS-Lösung in App_Data eingebettet ist. Vielleicht funktioniert dies besser mit einer eigenständigen SQL Server-Instanz.

    
Kon 01.09.2009, 18:32
quelle
1

Um eine T4-Vorlagendatei zu debuggen ...

T4-Tutorial: Debuggen von Code-Generierungsdateien

>

Unter Verwendung des Projekts in den SubSonic-30-Templates, das auf eine Instanz von Northwind in SqlExpress zeigt, habe ich die obige Prozedur hinzugefügt. Re-generierte die StoredProcedures.tt und es wurde glücklich erstellt ...

%Vor%

Obwohl ich den neuesten und besten Build verwende, habe ich keine Probleme mit fehlenden Parametern bemerkt.

Können Sie Ihre Settings.ttinclude und möglicherweise SqlServer.ttinclude -Datei posten? Oder vielleicht ein Link zu ihnen? Die StoredProcedures.tt kann auch gut sein.

    
BlackMael 01.09.2009 09:35
quelle
0

Eine andere mögliche Ursache dafür ist, dass der Datenbank kein dbo zugewiesen ist.

    
ntombela 25.02.2010 14:15
quelle
0

Ähnlich wie bei Kon M habe ich die Zeile in SQLServer.tt in:

geändert %Vor%

Das hat das Problem für mich gelöst.

    
37Stars 16.12.2009 19:35
quelle