2012-01-27 54 views
2

是否有一个生成器可以基于已存在的数据库模式为Fluent NHibernate创建映射文件?Fluent NHibernate - 为现有数据库创建映射

我需要编写为一个应用程序,它采用另一种应用的数据库中的数据层。有超过300个表,因此无法手动创建所有这些映射文件。

Fluent NHibernate不允许更改任何表定义。

在运行时动态对象的解决方案是完美的,但它也确定在设计时创建的映射。

+0

您可能已经知道这一点,并可能有更多的更新信息,但只是为了确保您没有错过;如果你想要一个更新版本的NHibernate,fluentnhibernate可能不会走, http://lostechies.com/jamesgregory/2011/04/13/me-on-nhibernate-3-2/ – 2012-01-27 08:46:57

+0

基于这个博客我个人仍然会去FNH。 – 2012-01-27 08:54:47

回答

1

如果您的数据库遵循命名约定,您可以尝试查看FNH的自动映射功能。

如果你看到80%的病例覆盖BE自动映射,然后创建特定案件的具体映射。

看一看这样的:http://wiki.fluentnhibernate.org/Auto_mapping

0

如果您的数据库使用标准约定,使用自动映射,并创建符合您的数据库,它约定。任何与这些约定不同的表都使用约定覆盖。

请注意,如果您不打算随时从映射中重新创建数据库,则可以保留现有的所有索引和可为空值,并可能在映射中忽略它们,但要准备好处理SQL错误例如,你有一个不可为空的数据库列,可以为NHibernate空。如果你想要非常紧张,你可以在覆盖中定义所有的索引和可空性设置。

相关问题