代码之家  ›  专栏  ›  技术社区  ›  Brad Barker

数据库产品的简单对象

  •  0
  • Brad Barker  · 技术社区  · 16 年前

    我一直在为.NET研究一些不同的产品,这些产品建议通过提供一种方法,使业务对象无缝映射到自动生成的数据库,从而加快开发速度。我在编写数据访问层时从来没有遇到过问题,但我想知道这种类型的产品是否真的可以节省它所宣称的时间。我还担心我会放弃对数据库的太多控制,使跟踪任何数据级问题变得更加困难。在数据库和业务对象结构必须更改的情况下,这些类型的产品会使情况变得更好还是更糟?

    例如: Object Relation Mapping from Dev Express

    本质上,它值得吗?我会节省很多时间、精力和将来的错误吗?

    5 回复  |  直到 7 年前
        1
  •  3
  •   JasonS    16 年前

        2
  •  1
  •   Tony Lenzi    16 年前

    我找到了 iBatis 从阿帕奇集团是一个很好的解决这个问题的方案。我的团队目前正在使用iBATIS将Java的所有调用映射到我们的MySQL后端。这是一个巨大的好处,因为很容易管理我们所有的SQL查询和过程,因为它们都位于XML文件中,而不是我们的代码中。从代码中分离SQL,不管语言是什么,都是一个很大的帮助。

    此外,iBATIS允许您编写自己的数据映射器,将对象之间的数据映射到数据库。我们需要这种灵活性,而不是为您做任何事情的休眠类型解决方案,但(IMO)也限制了您执行复杂查询的能力。

    还有一个.NET版本的iBatis。

        3
  •  1
  •   Vineet Jain    7 年前

    我最近刚开始 ActiveRecord 一个应用程序的城堡项目。很容易就开始了。在用它创建了一个新的应用程序之后,我甚至用MyGeneration为ActiveRecord可以在很短的时间内使用的旧应用程序编写类文件。它使用nhibernate与数据库交互,但会带走nhibernate附带的所有XML映射。好的是,如果必要的话,你的项目中已经有了NHiberiate,如果你有一些特殊的情况,你可以使用它的全部力量。我建议你看看。

        4
  •  0
  •   Eric Z Beard    16 年前

    ORM有很多选择。Linq to SQL,NHibernate。对于纯对象数据库,有db4o。

    这取决于应用程序,但是对于一个大容量的企业应用程序,我不会走这条路。你需要更多的数据控制。

        5
  •  0
  •   Dana the Sane    16 年前

    上周末我和一个朋友讨论过这个问题,如果您需要在应用程序外部查询数据库,那么您在轻松存储方面所取得的成果似乎已经丢失了。我的理解是,这些数据库通过以非规范化的方式存储对象数据来工作。这使得检索整个对象集变得很快,但是如果您需要从与对象模型不匹配的角度选择数据,那么ODBMS可能很难获得您想要的特定数据。