【问题标题】:Alternatives for NHibernate mappings?NHibernate 映射的替代方案?
【发布时间】:2010-01-28 10:15:30
【问题描述】:

NHibernate 的 xml 映射有什么好的替代方案吗?

我见过流利的。我所寻找的只是高可维护性

更新:我想知道与使用 fluent 相关的性能问题,因为我猜它会从类创建 xml 映射(这可能很耗时 - 我猜)

谢谢

【问题讨论】:

  • 看起来你有答案 - 流利。
  • 我更新了我的问题。我想知道fluent是否擅长表现。
  • 并不比 xml 映射差很多。 xml处理比将fluent映射转换为xml需要更多的时间。

标签: nhibernate fluent-nhibernate nhibernate-mapping


【解决方案1】:

Fluent,但话又说回来。

使用它会对性能产生轻微影响,但它与 XML 生成无关*。 NHibernate 有它自己的启动时间,而 fluent 只增加了一小部分;除非您抛出数千个映射(更具体地说,程序集),否则它甚至不值得考虑。

* Fluent 的性能影响实际上来自于调用Assembly.GetTypes() 以查找程序集中的任何映射。

【讨论】:

    【解决方案2】:

    我见过Fluent..

    那就去吧!

    Fluent 是一个很好的选择。我将 NHibernate 与 Fluent 一起使用,效果非常好。我发现 Fluent 配置比默认的 NHibernate 配置更易于维护和更好。

    查看Fluent Wiki - 很棒的文档和一个很好的起点。

    关于您的编辑,我无法给您任何具体的答案,但我自己从未见过任何使用 Fluent 的性能问题。我认为单独的 NHibernate 在启动时会稍微快一些,但是一旦进行了映射,应该没有区别。另请注意,由于 Fluent 在 NHibernate 配置之前提供的简单性,编写代码的性能会更好。

    【讨论】:

      【解决方案3】:

      我使用Linq To XSD 从映射文件 xsd 定义生成类库,它为您提供静态类型映射,您可以为其编写帮助程序和约定。它的好处是语法看起来非常类似于普通的 hbm.xml 文件,而我没有时间学习如何在 Fluent 中进行每个映射。

      【讨论】:

        【解决方案4】:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-05-07
          • 1970-01-01
          • 1970-01-01
          • 2012-04-10
          • 2018-08-17
          • 1970-01-01
          • 2011-11-16
          相关资源
          最近更新 更多