为了账号安全,请及时绑定邮箱和手机立即绑定

Linq和ORM有区别吗?

Linq和ORM有区别吗?

ITMISS 2018-11-14 05:02:56
Linq和ORM有区别吗? 什么区别?
查看完整描述

2 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

有!大大地有!

最大的区别就在于——他们根本就不是一路东西!

LINQ是一种语言特性,在语言(Language)中集成(Integrate)查询(Query)句法,所以才叫LINQ——Language-Integrated Query,目的是以一种看起来像SQL的方式来完成原本你需要去foreach的工作——最显著的就是集合操作,比如搜索啊,排序啊,批量更新啊。因为SQL是为关系数据库而存在的,关系数据理论是建立在集合论的基础上的,所以集合操作当然是最本职的工作啦!

ORM是Object/Relation Mapping。Object是哪路?是Object Oriented Programming那路Object,Relation是哪路?是关系数据理论那路Relation,ORM的作用是在对象和关系之间建立映射,让开发者可以以面向对象的方式去完成一些关系数据操作——这些原本需要用关系代数、关系操作语言,这些通常看起来有点生硬,还得花心思去专门学的东西来解决的操作。

LINQ和ORM就不是一路上的东西,但是为什么很多人会把他们扯在一起呢?

有两个最主要的原因

第一:LINQ长得太像SQL了!SQL是关系数据访问领域目前阶段当之无愧的带头大哥,ORM是一个挺时髦的关系数据访问面向对象化解决方案,也和SQL离不开关系,两者就靠SQL搭上边了。

第二:LINQ to SQL的存在。LINQ to SQL是一个ORM框架,它利用了LINQ的便捷性和LINQ长得像SQL这个特点,实现了一个用LINQ来完成关系型数据库(这里是SQL SERVER)数据访问的便捷通道。


查看完整回答
反对 回复 2018-11-20
  • 2 回答
  • 0 关注
  • 608 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信