我使用ASP.Net MVC与ADO.Net实体数据模型。 当我使用ToList()方法时,它从表中选择所有记录。我们可以排除在ADO.Net实体数据模型在ToList()方法的具体记录?
userEntity.USERs.ToList();
在这种情况下,我可以排除像SQL语句的“where”子句特定的记录? 谢谢!
我使用ASP.Net MVC与ADO.Net实体数据模型。 当我使用ToList()方法时,它从表中选择所有记录。我们可以排除在ADO.Net实体数据模型在ToList()方法的具体记录?
userEntity.USERs.ToList();
在这种情况下,我可以排除像SQL语句的“where”子句特定的记录? 谢谢!
您应该能够使用Where extension method。
也许是这样的:
userEntity.USERs.ToList().Where(user => user.UserId != 3456);
尝试像
userEntity.Users.Where(row => row.SomeColumn == SomeValue).ToList();
的Where()
方法可以让你把制约产生的检索像SQL Where子句列表中的SQL。
它现在! 非常感谢马特! – 2012-02-13 03:38:51
+1用于解释在哪里使用,配合乔恩斯基特帖子:) – 2012-02-13 03:56:06
非常感谢保罗! 它现在有效! – 2012-02-13 03:41:12
我认为,把其中ToList前子句将导致EF生成适当的SQL只检索行匹配WHERE子句。你拥有它的方式会将所有行拉回到内存中,然后过滤到哪里。检查出执行LINQ对象http://edulinq.googlecode.com/hg/posts/20-ToList.html – 2012-02-13 03:46:06
@MattPhillips飞碟双向的帖子:+1善于观察和很好的答案。我刚刚加入了Where扩展以展示其简单易用性。你指出了很多LINQ/lambda n00bs陷入麻烦的地方! – 2012-02-13 03:54:28