Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq更新与SQL更新性能_Linq_Sql Server 2008 - Fatal编程技术网

Linq更新与SQL更新性能

Linq更新与SQL更新性能,linq,sql-server-2008,Linq,Sql Server 2008,假设我的表中有一个500-1000数据 LINQ (from a in db.Person select a).ToList().ForEach(x => x.PersonName = "Juan"); db.SaveChanges(); SQL UPDATE dbo.Person SET PersonName = Juan; 更新记录时,哪种查询在速度方面性能更好?显然,原始更新速度更快ToList()将数据集具体化(以便读取)。更新可能跟踪实体中的更改,也可能不跟踪,但

假设我的表中有一个
500-1000
数据

LINQ

(from a in db.Person 
     select a).ToList().ForEach(x => x.PersonName = "Juan");
db.SaveChanges();
SQL

UPDATE dbo.Person
SET PersonName = Juan;

更新记录时,哪种查询在速度方面性能更好?

显然,原始更新速度更快
ToList()
将数据集具体化(以便读取)。更新可能跟踪实体中的更改,也可能不跟踪,但默认情况下将跟踪。然后它又把它全部发回

更新只在数据库中运行


如果没有
ToList()
它可能会更近。

显然原始更新会更快
ToList()
将数据集具体化(以便读取)。更新可能跟踪实体中的更改,也可能不跟踪,但默认情况下将跟踪。然后它又把它全部发回

更新只在数据库中运行

如果没有
ToList()
,它可能会更近