Bob*_*ob. 0 c# linq oracle performance entity-framework
我怎么做以下事情:
var query = from a in OBJ where a.ID == ID select c;
Run Code Online (Sandbox Code Playgroud)
它是<1秒,但是一旦我添加了IQueryable函数,它会增加到~3秒?
var query = (from a in OBJ where a.ID == ID select c).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)
当我使用FirstOrDefault()时也会发生同样的情况.
Jon*_*eet 10
这个:
var query = from a in OBJ where a.ID == ID select c;
Run Code Online (Sandbox Code Playgroud)
...只是代表查询.它根本不执行它.它应该是超炫快- "几乎没法比快",而不仅仅是"不到一秒钟."但
这个:
var query = (from a in OBJ where a.ID == ID select c).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)
...获取实际数据,这意味着它必须执行查询.
通常,LINQ 尽可能使用延迟执行.这只是一个例子.搜索LINQ延迟执行,你将获得大量文章的阅读.潜入适合您阅读风格的最佳:)