2016 - 2024

感恩一路有你

linq和sql的区别 Linq和LinqtoSql有什么区别?一般做项目用哪种?

浏览量:2642 时间:2021-03-13 19:38:06 作者:admin

Linq和LinqtoSql有什么区别?一般做项目用哪种?

Linq是微软在.net3.0推出的一种新的数据访问和处理的方式,来解决过去处理集合对象数据所遇到的种种困难。其中在C#3.0和VB9中分别引入了和SQL相似的Linq语法,使得现在操作各种数据对象变得非常容易而且可读性更好。

Linq To Sql是微软默认提供的LinqProvider的一种,其他的还有LinqToDataSet LinqToXml LinqToEntity等。

平时开发项目可以大量的使用linq,他会让你在处理大量集合数据的时候提高效率。而Linq2Sql算是一个ORM框架,可以用来减轻数据访问的负担,如果你知道Hibernate之类的ORM框架的话,就很容易理解他了

LinqToSql在实际开发中怎么使用?

linqtosql和ef语法基本一样,最大的坑也就是ef必须在linq语句之外定义好参数,而linq2sql可以直接写在语句里(例如DateTime.Now.Date甚至Convert.ToXX)。

但如果是开发正式项目,强烈不建议用linq2sql,因为1 of X update fail这个bug我到现在都找不到解决方法。而且即便没有使用非mssql的需求,ef也比linq2sql的自定义性更强。

请问什么叫ORM映射啊?

O 代表Object 即对象

R 代表Relation 即关系

M 代表Mapping 即映射

ORM即 对象关系映射

通过ORM工具,将对象与关系数据库 联系起来

orm工具 会动态生成sql语句,使你用面向对象的语法即可完成对数据库的操作

.net中名气比较大的orm工具有

NHibernate,Linq2Sql,EntityFrameWork等等

希望能够对你有帮助

比如 我们要从数据库中 选取一条用户信息

sql中 我们这样写 select * form user where userId= 1

而在NHibernate中 用hbl可以写为

from User u where u.UserId=1

即可获得一个User对象 “注意是User对象”

虽然hbl的语法还不能说很面向对象 但是已经比sql进步了 再来看看用linq的语法

from u in User where u.UserId = 1 select u

也可以返回一个User对象 但是语法上要比hbl更面向对象。

linq和sql的区别 sql语句变linq语句 sql注入原理

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。