Frage

Wir verwenden SubSonic als eine Art ORM (eigentlich eher als Abfragehilfe).Aus dem einen oder anderen Grund haben wir ein gewisses dynamisches Schema und daher haben bestimmte Tabellen Spaltennamen und dergleichen generiert.Nun ja, das war bis jetzt alles in Ordnung.Jetzt stimmen unsere produktionsgenerierten Spalten nicht mit unseren entwicklungsgenerierten Spalten überein.Die erste Lösung, die mir in den Sinn kam, bestand darin, die Subsonic-Dateien vor der Bereitstellung auf den Produktionsservern neu zu generieren, aber das scheint etwas chaotisch zu sein.Gibt es einen besseren Weg als diesen?

Beachten Sie, dass diese generierten Spalten nie tatsächlich aus dem ORM verwendet werden, wir aber manchmal ganze Zeilen mit herunterziehen

var data=MyData.DynamicTable.SingleOrDefault(x => x.id==1);

Dies würde zu einem Fehler in der Produktion führen, obwohl beim Laden die von der Entwicklung generierten Subsonic-Dateien verwendet würden GeneratedColumn10 oder was auch immer, was in der Entwicklung existiert, aber nicht in der Produktion.

War es hilfreich?

Lösung

Am Ende habe ich tatsächlich den SQLServer-Anbieter so geändert, dass er jeden Spaltennamen anhand eines regulären Ausdrucks prüft, um zu entscheiden, ob die Spalte einbezogen werden soll oder nicht.Es ist wichtig zu beachten, dass Sie dies für beide Spalten und für die Suche nach Fremdschlüsseln tun müssen

Andere Tipps

Sie könnten Ihre DAL anhand der Produktions-DB erstellen und sie mit Ihrem Entwicklungsserver verwenden.Sofern Ihre zusätzlichen Spalten in der Entwicklungsumgebung nicht nullfähig sind und kein Standardwert angegeben ist, funktionieren auch Ihre Aktualisierungs- und Einfügungsabfragen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top