Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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/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
C# 转换IEnumerable<;T>;列出<;T>;演出_C#_Linq_Linq To Sql - Fatal编程技术网

C# 转换IEnumerable<;T>;列出<;T>;演出

C# 转换IEnumerable<;T>;列出<;T>;演出,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,我有一个返回List的web服务。我使用LINQ to SQL将数据库中的数据转换为IEnumerable。然后将IEnumerable转换为List LINQ到SQL的操作性能正常,但执行操作需要一些时间。从IEnumerable到List,是否有任何解决方案可以获得最佳性能 我从数据库中读取了3000多条记录 多谢各位 要列出IEnumerable需要一些时间 手术 获得延迟的原因是,当执行ToList时,即实际查询执行并从数据库中获取记录的时间 这就是所谓的 当您使用ToList、ToAr

我有一个返回
List
的web服务。我使用LINQ to SQL将数据库中的数据转换为
IEnumerable。
然后将
IEnumerable
转换为
List

LINQ到SQL的操作性能正常,但执行操作需要一些时间。从
IEnumerable
List
,是否有任何解决方案可以获得最佳性能

我从数据库中读取了3000多条记录

多谢各位

要列出IEnumerable需要一些时间 手术

获得延迟的原因是,当执行
ToList
时,即实际查询执行并从数据库中获取记录的时间

这就是所谓的

当您使用
ToList
ToArray
Count()
等迭代查询时,即执行实际查询

是否有任何解决方案可以从中获得最佳性能 我可以列出吗?我读了3000多本书 我数据库中的记录


如果不改进查询,就不能。但是,如果您真的需要获取3000条记录,您可以使用和

IEnumerable上的ToList进行分页,从而使惰性序列变得急切,并且必须运行查询。这可能是在代码中尽可能使用IEnumerable的原因之一。您可以从下载.NET源代码并签出您想要的任何方法或类。在您的例子中,在Enumerable.cst中查找ToList扩展方法非常感谢。。但我需要一次拿出3000张唱片。
var query = db.yourTable.Where(r=> r.ID > 10);
var List = query.ToList(); //this is where the actual query gets executed.