c# - dataGridView 不显示列表
问题描述
我一直在尝试学习 linq 表达式。
我有这段代码没有在 dataGridView 中显示列表:
var x = bd.countries.OrderBy(a => a.description).TakeWhile(b => b.IdCountry<= 500);
在这一行:
dataGridView1.DataSource = x.ToList();
我收到此错误:
System.NotSupportedException: 'LINQ to Entities 无法识别方法 '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]])' 方法和这个方法不能被翻译成商店表达式。
你能帮我吗?谢谢,保罗普拉卡
解决方案
TakeWhile 未在 LINQ to Entities 中实现,因此在实际实现查询之前无法使用它。改为使用Where
。
var x = bd.countries.OrderBy(a => a.description).Where(b => b.IdCountry<= 500);
推荐阅读
- java - JSONException String 无法转换为 JSONObject
- selenium-webdriver - QAF Perfecto - 无法使用 XML 中的测试数据
- html - iOS 在音频上传时使用“捕获”HTML 属性崩溃
- android - 程序类型已经存在:com.android.internal.http.multipart.ByteArrayPartSource
- angular - Angular:ngrx/效果的一些问题
- javascript - 如何调整 Jquery DataTable 中按钮的大小
- javascript - 如何在 GrdiView 中将第一列宽度设置为 Fixed
- angularjs - 组件upperCaseComponent的模板出错
- python - 没有google smtp,还有其他方法可以google登录吗?
- c# - 将 YYYY/DDD 字符串验证为日期