当前位置:  开发笔记 > 编程语言 > 正文

LINQ to SQL vs ADO.Net

如何解决《LINQtoSQLvsADO.Net》经验,为你挑选了3个好方法。

LINQ to SQL和ADO.net之间有什么区别?



1> Mehrdad Afsh..:

ADO.NET是.NET Framework的底层数据访问API(很像Java中的JDBC).自.NET首次发布以来,它就一直存在.

LINQ to SQL是一个基于ADO.NET构建的数据访问框架和新的语言功能,它使SQL Server数据本身可以在面向对象的编程风格中使用.



2> dkretz..:

您需要首先理解LINQ是Microsoft用于使用一个工具以声明方式查询各种结构化数据的预期范例 - 想想"One Ring To Rule All all".LINQ to SQL只是第一个用于查询关系数据库的表现形式.

实际上,微软对LINQ与SQL的关系有着混合的信息.我认为问题在于它已被理解为其他抽象策略的替代品,现在它经常被视为程序员避免熟练使用SQL的一种方式.

ADO.Net将OOP视为现实,将关系数据视为现实,并期望您按照自己的条件对其进行正确处理.

这两者的优点和缺点值得商榷.但是,如果你同意微软的计算机科学向导已经提出了结构化数据查询的超级抽象,那么你可能想要朝着这个方向前进.有迹象表明其他软件产品供应商愿意参与其中,因此它甚至可能不会完全专有,这将是一件好事.



3> JaredPar..:

这两种技术之间存在相当大的差异,这些差异无法真正涵盖在简短的SO帖子中,但我将尝试涵盖这些亮点

在Linq2Sql中,您可以在内存对象中编写查询.虽然你编写的代码被翻译成表达式树,但在实际运行查询的运行时进一步转换为SQL.在ADO.Net中,您可以直接构建针对服务器运行的SQL查询.

Linq2Sql在C#和VB.Net中具有直接语言支持.ADO.Net为基于字符串的查询提供支持,除了原始字符串之外,它还支持0种语言.

Linq2Sql中的语言支持使查询类型安全.在ADO.Net中,必须将所有查询结果转换为适当的类型,从而基本上删除类型安全检查.

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有