Tag: ienumerable iqueryable

使用IEnumerable和IQueryable作为一种ObjectSet时的差异

据我所知,当我在IQueryable上使用LINQ扩展方法(使用lambda表达式语法)时,它们在ObjectSet的事实实例中被转换为LINQ to SQL查询。 我的意思是那个命令 IQueryable users = db.UserSet; var users32YearsOld = users.Where(user => user.Age == 32); 与…完全相同 IQueryable users = db.UserSet; var users32YearsOld = from user in users where user.Age == 32 select user; 因此,它们中没有它们会访问数据库,直到他们的users32YearsOld被枚举为for循环或类似。 (希望我理解正确)。 但是如果我不将ObjectSet屏蔽为IQueryable但是IEnumerable什么呢? 那么如果它的类型是IEnumerable ? IEnumerable users = db.UserSet; var users32YearsOld = users.Where(user => user.Age == 32); 它会立即打到数据库(如果是这样的话,那么?在第一行或第二行)? 或者它是否会像上一个命令一样,在枚举users32YearsOld之前不会命中数据库? 如果我使用以下代码会有什么不同吗? IEnumerable […]

IEnumerable 和IQueryable 澄清?

读完这个问题后,我需要澄清一些事情。 IQueryable custs = from c in db.Customers where c.City == “” select c; IEnumerable custs = from c in db.Customers where c.City == “” select c; 问题: 1)可以这么说:在第一个查询中,SQLServer正在运行整个操作,包括where子句, 只返回相关的行 – 而第二个查询执行SELECT * …并将所有行返回到C#和THENfilter? 2)如果我只有一个collections品 – 在记忆中怎么样? ( var lstMyPerson = new List() ) IQueryable lst = from c in lstMyPerson where c.City == “” […]