【问题标题】:What's the best ORM for DDD?DDD 最好的 ORM 是什么?
【发布时间】:2010-11-22 01:05:11
【问题描述】:

我更喜欢商业解决方案。所以不是NHibernate。现在我正在玩 LLBLGen pro,我喜欢它,但它似乎对 DDD 不友好。

【问题讨论】:

  • 确切地说,您希望它对“DDD”友好吗?这是一个很棒的 ORM。
  • 你为什么不喜欢非商业的? NHibernate 有什么问题?
  • 我不记得在 Eric Evans 的领域驱动设计书中提到过 ORM。如果这个短语意味着专注于手头的问题,那么选择特定的持久性技术有什么关系呢?整理好域后,您可以随意保留它。
  • 您的问题表述不清。我看不出任何人如何有效地回答它。 1) 为什么您更喜欢商业解决方案?知道这可能会影响您收到的答案。 2) 您没有提供足够的信息来说明您使用 LLBLGen Pro 的体验。什么确切地对 DDD 不友好? 3) 你对这个问题的答案有什么期望?

标签: .net architecture orm domain-driven-design llblgenpro


【解决方案1】:

Mindscape 的 LightSpeed O/R Mapper 从一开始就考虑到了 DDD。

如果“DDD 友好”是指 ORM 支持实体和值对象、工作单元、存储库、规范和聚合等概念和模式,那么 LightSpeed 肯定会使用这些。

Mindscape LightSpeed ORM

但是,其他 cmets 是有效的 - 请您更详细地定义 DDD 友好吗?我也确信大多数现代 ORM 至少支持我在这里强调的一些方面。

【讨论】:

  • 可惜不是免费的:/
  • 小系统有免费版。
【解决方案2】:

试试DataObjects.Net,它会自动从模型类生成数据库模式,并允许使用域模型,而不是使用数据库。我觉得对 DDD 来说还是不错的。

【讨论】:

  • 据我所知,Oracle 支持已经实现,预计会在下一个版本中实现。
  • “我想是的”、“据我所知”……你创建了 DO.Net,你应该知道 ;)
  • 但是我不从事Oracle支持工作,当时它的状态还不清楚(-:
【解决方案3】:

试试ECO。它是商业的,但可以免费试用和无限使用多达 12 节课。你可以用 12 节课做很多事情。它已经到了第 5 版,所以它已经成熟了。

【讨论】:

    【解决方案4】:

    NHibernate 现在有commercial support,这将是我的建议 - 你可以先启动对象,它现在支持 LINQ,因为LINQ to NHibernate 是 1.0

    适用于 SQL Server/Oracle/DB2/等

    【讨论】:

    • 正是我要说的。 :)
    猜你喜欢
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    相关资源
    最近更新 更多