可能重复:
C#'var'与特定类型性能
在性能方面,在linq中使用var或IEnumerable会有什么不同吗?IEnumerable或IQueryable怎么样?我们怎么知道哪一个是IEnumerable,哪一个是IQueryable?例如:在下面的代码中
IEnumerable<CaseTable> test = from x in dataBase.CaseTables
where x.case_id.Equals("12")
select x;
Run Code Online (Sandbox Code Playgroud)
如果返回类型不相同,它会有所不同,然后这会改变组合.例如:
IEnumerable<Users> users = db.Users;
var count = users.Count();
Run Code Online (Sandbox Code Playgroud)
与:
var users = db.Users;
var count = users.Count();
Run Code Online (Sandbox Code Playgroud)
如果这实际上是数据库提供者,则第二个应该发出"从用户选择COUNT(1)"(1行,1列) - 但是,第一个将发出"select*from Users" - n列乘以m行.它将通过网络拖动数据,将其实现为对象,然后(LINQ-to-Objects)计算对象.
如果已经 IEnumerable<T>那么它将没有任何区别.
重新知道它是什么 - 悬停;)或更好:使用分析器(例如mvc-mini-profiler),以便您可以随时密切关注它正在运行的查询.
| 归档时间: |
|
| 查看次数: |
5082 次 |
| 最近记录: |