ich erfolgreich bin immer Fluent NHibernate meine Datenbank durch Aufruf UpdateBaseFiles zu aktualisieren:Fluent NHibernate Ausgabeschema Update-Datei
Public Sub UpdateBaseFiles()
Dim db As SQLiteConfiguration
db = SQLiteConfiguration.Standard.UsingFile(BASE_DBNAME)
Fluently.Configure() _
.Database(db) _
.Mappings(Function(m) m.FluentMappings.AddFromAssemblyOf(Of FluentMap)()) _
.ExposeConfiguration(AddressOf UpdateSchema) _
.BuildConfiguration()
End Sub
Private Sub UpdateSchema(ByVal Config As Configuration)
Dim SchemaUpdater As New SchemaUpdate(Config)
SchemaUpdater.Execute(True, True)
End Sub
Wie Ausgabe ich die DDL in einer Datei, das tue ich dies, wenn zunächst das Schema zu schaffen mit:
Private Sub BuildSchema(ByVal Config As Configuration)
Dim SchemaExporter As New SchemaExport(Config)
SchemaExporter.SetOutputFile("schema.sql")
SchemaExporter.Create(False, True)
End Sub
aber SchemaUpdate hat keine SetOutputFile-Methode.
Ich bin Sicher, das würde in C# funktionieren, aber ich habe Probleme beim Übersetzen der Delegat Vorlage in VB, irgendwelche Ideen? – Bender
Ich bin mir nicht sicher, ob Sie können http://stackoverflow.com/questions/892021/actionof-t-in-visual-basic-in-listof-t-foreach. –
Dies funktioniert nicht, da der Aktionsdelegat in jeder ddl-Anweisung aufgerufen wird, sodass nur der letzte in die Datei geschrieben wird. Sie können filemode.append verwenden oder die Dateistream-Erstellung außerhalb des Aktionsdelegaten verschieben. – Jokin