sto ottenendo con successo Fluent NHibernate per aggiornare il mio database UpdateBaseFiles chiamata:Fai Fluent NHibernate aggiornamento dello schema di output su file
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
Come posso riprodurre il DDL in un file, faccio questo quando inizialmente la creazione dello schema utilizzando:
Private Sub BuildSchema(ByVal Config As Configuration)
Dim SchemaExporter As New SchemaExport(Config)
SchemaExporter.SetOutputFile("schema.sql")
SchemaExporter.Create(False, True)
End Sub
ma SchemaUpdate non ha un metodo SetOutputFile.
Sono sicuro che ciò funzionerebbe in C#, ma ho problemi a tradurre il modello delegato in VB, qualche idea? – Bender
Non sono sicuro che sia possibile, vedere http://stackoverflow.com/questions/892021/actionof-t-in-visual-basic-in-listof-t-foreach. –
Questo non funzionerà bene perché il delegato dell'azione viene chiamato in ogni istruzione ddl, quindi solo l'ultimo verrà scritto sul file. È possibile utilizzare filemode.append o spostare la creazione del flusso di file al di fuori del delegato dell'azione. – Jokin