0

我知道这些问题被问过很多次,但有些问题已经超过 6 个月,而且产品也在不断发展。

我有一个数据库模式,由一些真正的专业人士新设计,结构精美,位于 Enterprise Architect 中,可以生成任何所需的数据库引擎类型。我还不想扔掉它,只是。它大约有 3-4k 张桌子。

我真的有很多问题。我从阅读堆栈和各种博客中了解到,在使用 NHibernate 时,具有自动映射和约定的 Fluent NHibernate 是构建与遗留数据库良好集成的域层的最佳方式。我知道这是主观的,但这仍然是真的吗?

是否有任何使用 FH 映射到现有数据库的示例或开源项目,以了解它如何大规模工作。

在我走之前,有没有人有使用商业工具集的经验?目前的艺术状态是什么。我查看了一整套文档,但许多文档都是针对未开发的,如果排除 FH,很难确定什么是最佳选择。这需要正式的产品测试、指标和创建的报告来确定最佳选择,但经验很重要。

谢谢。任何帮助,将不胜感激。鲍勃。

4

1 回答 1

1

我对遗留数据库使用了原生 NHibernate 映射和 FNH。恕我直言,FNH 的好处在您可以使用 AutoMapping 功能时真正体现出来。对于遗留数据库,假设在架构的构造中使用了可靠的约定,创建自定义 FluentNHibernate 约定类然后与 AutoMap 功能结合使用是一件相对简单的事情。但是,您不必使用 AutoMap,ClassMap(和/或 AutoMap 的覆盖)可以为您提供针对现有模式工作所需的所有灵活性。当然,这是主观的。有些人会争辩说,NHibernate XML 映射文件比遗留应用程序更好,因为您明确地管理映射。各有各的。我都做过,并且看到了两者的优点/缺点。

查看SharpArchitecture以获取 FNH(和其他 NHibernate 实践)的示例。我已经有一段时间没有找到他们的源代码了,但上次我浏览它时,这是 NHibernate 和 FNH 能力的一个很好的例子。

于 2011-02-01T17:09:32.130 回答