C#LINQ to实体无法识别该方法

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。由于它是自定

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。由于它是自定义方法,因此不能执行此操作,因此您应该调用
ToList()
来计算表达式并使EF将对象从数据库加载到内存。然后linq可以调用自定义函数对数据进行排序。

请使用:

return query.ToList().OrderBy(e => e.Person.getCount(), sortDirection);
这种情况是EF试图将
getCount()
方法转换为SQL。由于它是自定义方法,因此不能执行此操作,因此您应该调用
ToList()
来计算表达式并使EF将对象从数据库加载到内存。然后linq可以调用自定义函数对数据进行排序。

我认为
AsEnumerable()
在这里就足够了,但是+1我认为
AsEnumerable()
在这里就足够了,但是+1