Getting Fluent NHibernate To Build Database tables

血红的双手。 提交于 2019-12-30 14:41:01

问题


I am building an app with ASP.NET MVC2, Fluent NHibernate, StructureMap, and PostgreSQL. I am a total newbie when it comes to Fluent NHibernate. I got a setup going from a couple different sources but when I build and run my app it doesnt create the database tables for the database in my connection string. I have code in a few different files so Im not sure which code I need to post of if I should post all of it. If there is one key to check for please let me know or let me know to post all the code. Thanks!


回答1:


You can use the SchemaExport class from NHibernate Core to export your schema to a database.

To execute the schema export, use the ExposeConfiguration method in the Fluent NHibernate database configuration API.

var sessionFactory = Fluently.Configure()
   .Database(/* ... */)
   .Mappings(/* ... */)
   .ExposeConfiguration(cfg => new SchemaExport(cfg).Execute(true, true, false))
   .BuildSessionFactory();

There's also a SchemaUpdate class available which does not drop and recreate your schema but updates the existing schema. This is useful if you would like to preserve the data in the database.

SchemaExport and SchemaUpdate are available in the NHibernate.Tool.hbm2ddl namespace.




回答2:


The FluentNhiberante SessionSource object exposes the CreateSchema.

var sessionFactory = Fluently.Configure()...
var sessionSource = new SessionSource(sessionFactory);
sessionSource.BuildSchema()


来源:https://stackoverflow.com/questions/3451761/getting-fluent-nhibernate-to-build-database-tables

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!