2013-02-01 32 views

回答

0

LINQ查询中,如果对数据集或集合做发生记忆。由于DB将数据存储在硬盘驱动器中,因此影响不如数据库级别。

因为你的RAM比你的硬盘快,所以性能并不明显。但是将它应用到LINQ还是个不错的主意

+0

OP不会向Linq询问对象只有 –

3

你不能用LINQ做SELECT *。生成的查询始终具有要选择的所有列名称。因此,为了确定该表的列,不会因阅读表定义而造成延迟。但是,从磁盘读取所有列数据并通过网络发送数据会有延迟。所以,如果你只需要在表中的多个列,那么最好只选择那些列:

var query = from p in db.Person 
      select new { p.Id, p.Forename, p.Surname }; 

备注:使用LINQ到对象(内存中查询)你有相反的情况 - 你已经有对象在内存。选择一组属性比较慢,因为应该创建匿名对象,并且它的属性应该被映射。但是这个操作不使用硬盘或网络,所以延迟是微不足道的。

+0

他意味着选择所有列而不是所需的列。 –

+0

这就是我所问的 –