dataGridView没有显示列表

时间:2019-06-15 20:09:47

标签: c#

我一直在尝试学习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.Expression 1[System.Func 2 [App3BD。 pais,System.Boolean]])'方法,并且该方法无法转换为商店表达式。'

能帮我吗? 谢谢, 保罗·普拉卡

1 个答案:

答案 0 :(得分:1)

TakeWhile在LINQ to Entities中未实现,因此在实际实现查询之前不能使用它。请改用Where

var x = bd.countries.OrderBy(a => a.description).Where(b => b.IdCountry<= 500);