1

在使用了有或没有 ORM 的框架后,在我看来,ORM 是模型和数据库包装器之间的冗余抽象层。

大多数框架都有针对不同数据库软件的统一数据库包装器,因此更改软件通常不需要更改代码。

有任何真正的理由使用 ORM 吗?这似乎只是添加了一个不必要的步骤。

4

3 回答 3

4

有两件事... ORM 是对象关系映射,即将对象和对象类型映射到数据库,不一定要为后端提供统一的 DAL(数据库抽象层)。因此,您似乎主要使用 DAL 而不是 ORM。在我工作的地方,我们使用 ORM 将作业映射到渲染农场,这使我们能够在任意数量的应用程序中访问这些相同的基本对象,而无需以硬格式(数据库除外)存储数据。当您需要以与应用程序无关的方式访问数据并以相同的形式在许多其他应用程序中共享数据时,它非常有用。啰嗦,我知道——希望这会有所帮助!:)

于 2013-03-20T01:50:27.663 回答
2

ORM 的目的是帮助开发人员避免编写大量重复的代码来将查询结果集列映射到对象字段,并在将更改的数据保存到数据库时再次返回。

换句话说,ORM 主要是为了开发人员的生产力。

另请参阅为什么要使用 ORM?

于 2013-03-20T01:48:44.073 回答
2

使用 ORM 的主要原因与非功能性需求有关,这是您需要在不同的 RDBMS(Oracle、MySQL、PostgreSQL)之间移植您的应用程序并减少实施的影响。

如果您不打算在 RDBMS 之间进行更改,那么您可能不需要 ORM,并且您正在将一些复杂性和开销汇总到您的应用程序中

于 2013-03-20T01:50:02.207 回答