Ich bin neu bei SubSonic (von allen Geschmacksrichtungen), dachte aber, ich könnte genauso gut mit 3.0 beginnen, weil ich gerne Linq verwenden würde, und ich habe den Eindruck, dass 3.0 nicht weit von der Veröffentlichung entfernt ist.Wie sollte ich die Subsonic 3.0 DB Kontextklasse erstellen?
Ich habe versucht, den Alpha-Download. Zip, aber das scheint ziemlich alt und nicht Tabellenklassennamen zu vereinzeln, so dass ich jetzt von der neuesten Stamm SVN-Version (rev62) läuft.
ich die ‚einfachen‘ Vorlagen ausgeführt haben, von SubSonic.Templates \ Einfach gegen meine Datenbank und alles scheint in Ordnung, aber die DB Kontextklasse der die Vorlagen zu erstellen beginnt wie folgt aus:
public partial class DB : IQuerySurface
{
static DB _db;
public DB() {
_db = new DB();
}
public static DB CreateDB()
{
if (_db == null)
{
_db = new DB();
_db.Init();
}
return _db;
}
... etc
Wenig überraschend, Wenn ich DB.CreateDB aufruft, rekuriert der ctor endlos und stürzt alles mit einem Stapelüberlauf ab.
Ich verstehe den Ctor überhaupt nicht - es sieht nicht so aus, als müsste es da sein, aber sowohl die "einfachen" als auch die "fortgeschrittenen" Vorlagen erzeugen etwas Ähnliches, und es gibt eine riesige Testsuite, die ich Stellen Sie sich vor, dies zu überprüfen.
Klar habe ich hier das falsche Ende des Sticks - was für einen blendend offensichtlichen Punkt habe ich verpasst?
Aktualisierung: Die einfachen und erweiterten Vorlagen sind nicht ähnlich, und die fortgeschrittenen haben dieses Problem nicht. Danke für die Hilfe.
Ein weiteres Update: Es sieht wie folgt aus wird in den einfachen Vorlagen in SVN r66
Es sieht aus wie ein Tippfehler. Sollte sein public DB() {} –
Sollte "private DB() {}" sein. Ich würde nur die Vorlage ändern und weitermachen. –