Convert an IQueryable linq query to IEnumerable<T> cancels out linq optimized way to work?
我在.NET上有点新手,我想知道Linq是如何工作的,因为您可以一个接一个地应用许多Linq查询,但在它们被用于传输信息或转换为列表等之前,它们都不会真正执行。
使用
1 2 3 4 5 6 7 8 9 10 11 12 13 | //Linq dynamic library IQueryable<Table> myResult = db.Categories .Where(a => a.Name.Contains(StringName)) .OrderBy("Name") .Skip(0) .Take(10); if (myResult != null) { return myResult.AsEnumerable(); } else { return null; } |
depsite我使用的是linq动态库,这个查询的直接结果是get on
不用担心,它仍将在数据库中执行。基本上,这都取决于使用
另一方面,如果将这些方法中的任何一个作为
举个例子,考虑一下:
1 2 3 4 | var query = db.People .Where(x => x.Name.StartsWith("J")) .AsEnumerable() .Where(x => x.Age > 20); |
这里,
如果返回一个
请参阅返回IEnumerable