Tôi thành công nhận thành thạo NHibernate để cập nhật cơ sở dữ liệu của tôi bằng cách UpdateBaseFiles gọi:Làm thành thạo NHibernate update schema đầu ra để nộp
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
Làm thế nào để đầu ra DDL vào một tập tin, tôi làm điều này khi bước đầu tạo schema bằng cách sử dụng:
Private Sub BuildSchema(ByVal Config As Configuration)
Dim SchemaExporter As New SchemaExport(Config)
SchemaExporter.SetOutputFile("schema.sql")
SchemaExporter.Create(False, True)
End Sub
nhưng SchemaUpdate không có phương thức SetOutputFile.
Tôi chắc chắn điều này sẽ làm việc trong C#, nhưng tôi gặp khó khăn khi dịch các mẫu đại biểu vào VB, bất kỳ ý tưởng? – Bender
Tôi không chắc chắn bạn có thể, xem http://stackoverflow.com/questions/892021/actionof-t-in-visual-basic-in-listof-t-foreach. –
Điều này sẽ không hoạt động tốt bởi vì các đại biểu hành động được gọi trong mỗi tuyên bố ddl, do đó, chỉ người cuối cùng sẽ được ghi vào tập tin. Bạn có thể sử dụng filemode.append hoặc di chuyển việc tạo luồng phim bên ngoài ủy nhiệm tác vụ. – Jokin