Visual Studio 2010 ADO.NET数据模型与Linq到SQL

LaG*_*rad 2 .net data-access .net-4.0 visual-studio-2010

这两者有什么区别?它们乍一看似乎具有相同的功能.哪一个具有更快的性能,哪一个更容易使用?

Pat*_*her 7

使用ADO.NET和某种SQL:

  • 优点:不需要任何配置或建模.
  • 优点:只要您知道如何编写和优化SQL,效率更高.开始时速度更快,如果有必要,更容易进一步优化.
  • 要求:更多的sql知识(反正还不错)
  • 需要:一些基础设施/工具来减少重复编码
  • 支持的论点:如果你对sql很好,有一个很好的数据访问工具,并且只要你得到它就立即将你的数据放在其他地方,那么Linq-to-SQL没什么吸引人的.

使用Linq-to-Sql

  • 优点:即使在linq经验有限的情况下,也可以非常容易阅读/理解.
  • 优点:可以快速为您提供强大的类型,您可以立即使用.
  • 优点:您可以在Visual Studio之前或编译时更频繁地找到错误.通过普通的老人,你会在运行时发现错误.
  • 要求:设置架构
  • 要求:linq的知识(无论如何你想拥有)
  • 支持的论点:许多人发现Linq的表现惩罚并不那么大,并且最终不会成为一个问题.此外,sql linq提出的有时候比提出的更好,即使你喜欢自己的sql pro.(Stackoverflow是一个很大的站点,它的Linq-to-sql 似乎保持不错.)

简而言之,两者都是相当不错的选择.关键因素是:

  1. 您的技能组合:如果您在SQL(和代码生成)方面很强大,那么使用Linq-to-SQL的理由就更少了.
  2. 你的数据库负载挑战:如果你不必共享一个微不足道的数据库服务器一些其他解决方案,并且你不是很大,Linq-to-Sql足够强大.

擅长SQL很长一段时间都很重要.而且,擅长LINQ是一个非常好的举措.Linq-to-XML和Linq-to-Objects是非常棒的技术,一种风格的技巧直接转化为其他Linq风格.