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();