当前位置: 首页 > 面试题库 >

ORM有什么优点?

商棋
2023-03-14
问题内容

所以我对墙碰到头了,希望有人能帮忙移开墙或阻止我的头移动!

在过去的3/4周中,我一直在调查ORM是否准备好进行新项目。ORM必须映射到现有的,大型且老化的SQL数据库。

所以我尝试了Subsonic。改装后,我真的很喜欢v2和v3与VB一起很好地工作,并且SQL中的命名模式运行正常。但是,由于缺乏将单独的实体属性名称与列名称分开的灵活性,这使我无法抽身(对不起,Rob)。

我尝试了Entity Framework,但发现与其他框架一样,它在某些方面也缺乏。

因此,我硬着头皮尝试了nHibernate,但是大约一个星期后,它以我喜欢的方式工作(在Codesmith的帮助下为我生成类/
hbms),我对启动所需的时间(构建配置对象)感到沮丧,尽管尝试了一些技巧来减少这段时间。

我实质上是在建立可以在应用程序和网站之间共享的DAL类之后。我在树错树上吠叫吗?对于具有100个表的旧项目,我应该回到ado.net并使用DTO吗?啊!

很抱歉出现问题的担保方式。我没有太多的头发了,我想保留我的头发!!

在此先感谢,Ed

PS。我应该补充一点,我非常了解SQL,并且不怕动手编写快速查询。如果有什么我不需要从SQL隐藏


问题答案:

ORM让您:

  1. 要将表行映射到对象,这是面向对象编程的可行部分。
  2. 自动浏览对象关系
  3. 轻松添加,编辑和删除表行
  4. 无需考虑联接即可以更直观的方式查询数据库(这取决于ORM和查询方法)
  5. 透明地处理L1和L2缓存。

如果您不使用ORM,则必须手动处理以上所有内容。

PS:对于NHibernate的启动时间,我同意Dmitry的意见(请参阅问题注释)。此外,您尝试过Fluent
NHibernate
吗?流利的NHibernate非常容易。当我第一次映射数据库时,我不敢相信自己的眼睛。它比DevExpress
XPO之类的专有ORM更加容易。



 类似资料:
  • 主要内容:ORM 的缺点,ORM 框架,总结ORM 是 Object Relational Mapping 的缩写,译为“对象关系映射”,它解决了对象和关系型数据库之间的数据交互问题。 使用面向对象编程时,数据很多时候都存储在对象里面,具体来说是存储在对象的各个属性(也称成员变量)中。例如有一个 User 类,它的 id、username、password、email 属性都可以用来记录用户信息。当我们需要把对象中的数据存储到数据库时,按照

  • 本文向大家介绍什么是 ORM 框架?相关面试题,主要包含被问及什么是 ORM 框架?时的应答技巧和注意事项,需要的朋友参考一下 ORM(Object Relation Mapping)对象关系映射,是把数据库中的关系数据映射成为程序中的对象。 使用 ORM 的优点:提高了开发效率降低了开发成本、开发更简单更对象化、可移植更强。

  • 本文向大家介绍什么是Spring Actuator?它有什么优势?相关面试题,主要包含被问及什么是Spring Actuator?它有什么优势?时的应答技巧和注意事项,需要的朋友参考一下 这是Spring Boot中最常见的面试问题之一。根据Spring文件: 执行器是一个制造术语,指的是移动或控制某物的机械装置。执行机构可以从一个小的变化中产生大量的运动。 众所周知,Spring Boot提供了

  • 问题内容: 拥有方 到底是什么意思?一些映射示例( 一对多,一对一,多对一 )的解释是什么? 以下文本摘录自Java EE 6文档中 @OneToOne 的描述。您可以在其中看到概念 拥有的一面 。 定义与另一个具有一对一多重性的实体的单值关联。通常不必显式指定关联的目标实体,因为通常可以从被引用对象的类型中推断出该目标实体。如果关系是双向的, 则非拥有方 必须使用OneToOne批注中的mapp

  • ORM(Object-relational mapping),对象关系映射。 是为了解决面向对象与关系型数据库存在的不匹配问题。 ORM框架的优点: 开发效率更高 数据访问更抽象、轻便 支持面向对象封装

  • 问题内容: 拥有方到底是什么意思?一些映射示例(一对多,一对一,多对一)的解释是什么? 以下文本摘录自Java EE 6文档中@OneToOne的描述。您可以在其中看到概念拥有方面。 定义与另一个具有一对一多重性的实体的单值关联。通常不必显式指定关联的目标实体,因为通常可以从被引用对象的类型中推断出该目标实体。如果关系是双向的,则非拥有方必须使用OneToOne批注中的mappingBy元素来指定