【问题标题】:Starting on ORMS - Nhibernate从 ORMS 开始 - Nhibernate
【发布时间】:2010-03-05 17:37:06
【问题描述】:

我开始深入研究 ORM 领域,尤其是 NHibernate 在开发 .NET 数据感知应用程序方面。我必须说学习曲线非常陡峭,应该注意很多事情。显然,它实际上改变了您执行数据感知应用程序的方式、编码方式、开发方式以及几乎所有内容。

无论如何,我想问一下,您在决定在应用程序中使用或不使用 ORM 时是否设置了一些参数?那么,您如何决定需要采用哪种方法使其对您的组织有价值?

我现在工作的组织显然已经通过后端运行了很多 SQL 和数据访问的东西,我必须说这些类/方法/过程已经成功地执行了它们提供所需数据的任务以及何时这是必需的。我认为将其中的一部分映射到 ORM 并获得与公司过去几年相同的业务价值,这将是一项巨大的努力。

尽管如此,我知道 ORM 为应用程序与数据库服务器通信铺平了道路,如果实施得当的话。我必须承认我正处于学习阶段,我可能需要所有的帮助、资源和指导来完成这个转变。我也想从 Manning 买这本书,但我觉得 NHibernate 做了这么多变化,这本书可能有点过时了。也许等待关于 NHibernate 的 Packt 书(2010 年 5 月发布??)会帮助我更好地启动和运行。

请分享您的想法。顺便说一句,如果您还可以向我指出一个使用 NHibernate + Visual Web Developer 2008 Express 和 SQL Server 的小型 Web 应用程序示例,我们将不胜感激。

谢谢。

【问题讨论】:

  • 是否可以聘请顾问?这在很大程度上取决于您正在做什么以及如何做的细节。

标签: nhibernate orm


【解决方案1】:

对我来说,简称如下:

如果您不使用已建立的 ORM,并且开发正确(这意味着您重构了重复项并尽可能简化),您最终将通过数据访问层的发展构建自己的 ORM。

那么问题就变成了: “我希望我的开发人员花时间学习我自己开发的 ORM 的特质,还是学习那些有据可查且经过良好测试的 ORM 的特质?”

此外: “如果我正在招聘一位新开发人员,那么引入一位了解我们正在使用的既定 ORM 工具的开发人员,而不是在我构建的这个东西上培训某人不是更好吗?”

我使用 NHibernate,尤其是 Fluent——它很棒;如果可以选择,我不会以任何其他方式在 RDBMS 上进行开发。

要成功使用 ORM,您必须确保正确规范化,并将数据库用于其设计目的,即存储数据。

【讨论】:

    【解决方案2】:

    在以下情况下我不使用 orm:

    1. 我不使用关系数据库(关系数据库并不是每个应用程序的最佳数据库选择)
    2. 数据库的表数量非常少。 (如果没有 orm,我可能需要更少的代码)
    3. 我使用了一个非常简单的数据库,它可以通过简单的命名映射到代码 公约。 (映射到哑 DTO 类和所有查询,例如 select * from tablename where id=@id)

    学习一个好的 orm 是值得的,当您大量使用关系数据库时,它将节省您编写大量代码的时间。 您可以通过 stackoverflow 搜索找到有关 NHibernate 的示例应用程序/教程/视频。曼宁还有另一本书正在制作中,也许可以通过抢先体验计划阅读。

    【讨论】:

      猜你喜欢
      • 2010-10-07
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      • 1970-01-01
      • 2021-09-02
      相关资源
      最近更新 更多