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.