C# LINQ to Entities 不识别方法

C# Entity使用LINQ的注意事项

// 使用LINQ 查询
var dbStudent = _dbWrapper.GetEntities<tablestudent>().LastOrDefault(item => item.grade != null && item.grade == 80);

此时会报出以下异常
"LINQ to Entities 不识别方法“

原因是对集合的查询操作会被LINQ编译成SQL语句,此时是无法识别方法的。

可以通过以下方式来解决

// 先把数据加载至内存中,再进行LINQ 操作
var dbStudent = _dbWrapper.GetEntities<tablestudent>().ToList().LastOrDefault(item => item.grade != null && item.grade == 80);
// 也可以使用where ,再取lastordefault
var dbStudent = _dbWrapper.GetEntities<tablestudent>().Where(item => item.grade != null && item.grade == 80).LastOrDefault();
上一篇:2016年天梯赛初赛题集 7-12 关于堆的判断 (25分)


下一篇:谷粒商城学习——P45商品服务-API-三级分类-查询-递归树形结构数据获取