我一直在尝试学习linq表达式。
我有这段代码不会在dataGridView中显示列表:
var x = bd.countries.OrderBy(a => a.description).TakeWhile(b => b.IdCountry<= 500);
在这一行:
dataGridView1.DataSource = x.ToList();
我收到此错误:
System.NotSupportedException:'到实体的LINQ无法识别方法'System.Linq.IQueryable
1[App3BD.pais] TakeWhile[pais](System.Linq.IQueryable
1 [App3BD.pais],System.Linq.Expressions.Expression1[System.Func
2 [App3BD。 pais,System.Boolean]])'方法,并且该方法无法转换为商店表达式。'
能帮我吗? 谢谢, 保罗·普拉卡
答案 0 :(得分:1)
TakeWhile在LINQ to Entities中未实现,因此在实际实现查询之前不能使用它。请改用Where
。
var x = bd.countries.OrderBy(a => a.description).Where(b => b.IdCountry<= 500);