流畅的NHibernate - 为现有数据库创建映射

时间:2012-01-27 08:40:29

标签: c# .net fluent-nhibernate fluent

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

如果您发现80%的案例都是自动化的,那么请为特定案例创建特定的映射。

看看这个:http://wiki.fluentnhibernate.org/Auto_mapping

答案 1 :(得分:0)

如果您的数据库使用标准约定,请使用AutoMapping并为其创建与您的数据库匹配的约定。任何不同于这些约定的表都使用约定覆盖。

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