C#LINQ to实体无法识别该方法
LINQ to Entities无法识别方法“Int64 getCount()”方法,并且无法将此方法转换为存储表达式C#LINQ to实体无法识别该方法,c#,asp.net,linq,C#,Asp.net,Linq,LINQ to Entities无法识别方法“Int64 getCount()”方法,并且无法将此方法转换为存储表达式 return query.OrderBy(e => e.Person.getCount(), sortDirection); 如何重写此行?请使用: return query.ToList().OrderBy(e => e.Person.getCount(), sortDirection); 这种情况是EF试图将getCount()方法转换为SQL。由于它是自定
return query.OrderBy(e => e.Person.getCount(), sortDirection);
如何重写此行?请使用:
return query.ToList().OrderBy(e => e.Person.getCount(), sortDirection);
这种情况是EF试图将getCount()
方法转换为SQL。由于它是自定义方法,因此不能执行此操作,因此您应该调用ToList()
来计算表达式并使EF将对象从数据库加载到内存。然后linq可以调用自定义函数对数据进行排序。请使用:
return query.ToList().OrderBy(e => e.Person.getCount(), sortDirection);
这种情况是EF试图将getCount()
方法转换为SQL。由于它是自定义方法,因此不能执行此操作,因此您应该调用ToList()
来计算表达式并使EF将对象从数据库加载到内存。然后linq可以调用自定义函数对数据进行排序。我认为AsEnumerable()
在这里就足够了,但是+1我认为AsEnumerable()
在这里就足够了,但是+1