1
2
您将始终能够使用从ADO访问的存储过程将LINQ备份到数据库,然后直接对其执行操作,或者(如果必须处理对象)使用手头任务所需的数据量构造对象。 但是,Linq让我们能够非常快速地创建一个查询,通过返回匿名对象返回该任务所需的信息。 要对每个查询的自定义代码执行相同的操作,需要要么不停止处理其他层的ADO(在多个方面存在问题),要么创建大量重复其大部分功能但不共享代码的对象。 所以,虽然它可以在性能上被击败,但在这种情况下,如果没有 许多 相当重复的代码。它还可以在性能上击败更自然的方法(用我们不会使用的膨胀返回实体对象)。 最后,即使在它没有获胜的情况下,它仍然可以更快地编写,并且更清楚地说明操作与实体的定义方式有关(后一个是我非常喜欢它的主要原因)。 |
2
7
当以原始SQL编写所有这些查询和管理所有其他翻译等方式节省的时间允许您花费更多时间查找性能瓶颈时。 Linq并不是要超越SQL。这是为了使代码更简单、更清晰,所以您可以集中精力处理更重要的方面。有时,查询的自然LINQ表达式最终得到的SQL速度可能会比您自己想到的要快——尽管也有很多时候会发生相反的情况。您仍然应该查看正在生成的SQL,并对其进行相应的分析。 |
jchristo · 释放时服务炸弹爆炸[重复] 6 年前 |
Rod · 检查DataTable是否存在列以及是否为null 6 年前 |
user1451111 · 如何在ADO代码中存储大型查询。NET项目 6 年前 |