流畅的 NHibernate 构建数据库表

发布于 2024-09-13 12:47:50 字数 237 浏览 8 评论 0原文

我正在使用 ASP.NET MVC2、Fluent NHibernate、StructureMap 和 PostgreSQL 构建一个应用程序。对于 Fluent NHibernate,我完全是个新手。我从几个不同的来源获得了一个设置,但是当我构建并运行我的应用程序时,它不会在我的连接字符串中为数据库创建数据库表。我在几个不同的文件中有代码,所以我不确定如果我应该发布所有代码,我需要发布哪些代码。如果需要检查一把钥匙,请告诉我或让我知道发布所有代码。谢谢!

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!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冷清清 2024-09-20 12:47:50

您可以使用 NHibernate Core 中的 SchemaExport 类将架构导出到数据库。

要执行架构导出,请使用 Fluent NHibernate 数据库配置 API 中的 ExposeConfiguration 方法。

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

还有一个可用的 SchemaUpdate 类,它不会删除并重新创建您的架构,但会更新现有架构。如果您想保留数据库中的数据,这非常有用。

SchemaExportSchemaUpdateNHibernate.Tool.hbm2ddl 命名空间中可用。

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.

复古式 2024-09-20 12:47:50

FluentNhiberante SessionSource 对象公开 CreateSchema。

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

The FluentNhiberante SessionSource object exposes the CreateSchema.

var sessionFactory = Fluently.Configure()...
var sessionSource = new SessionSource(sessionFactory);
sessionSource.BuildSchema()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文