LINQ to Entities 无法识别方法“Boolean ToBoolean”

Psa*_*Tak 5 c# linq entity-framework

我有一堂这样的课:

public class menu{
public string Permission{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

的值Permission是 Encripted 的。我想要所有记录在Permission哪里True。为此,我使用以下查询:

return 
_menuSettings.Where(row => Convert.ToBoolean(Utilities.Encryption.Decrypt(row.Permission,"key"))==true).ToList();
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

LINQ to Entities 无法识别“Boolean ToBoolean(System.String)”方法,并且此方法无法转换为存储表达式。

我在google上搜索过,但无法解决。

谢谢

Iva*_*oev 3

您所要求的内容无法通过数据库查询来实现。恐怕你会陷入这样的内存过滤(希望你没有太多记录)

return 
_menuSettings.AsEnumerable().Where(...
Run Code Online (Sandbox Code Playgroud)

这里AsEnumerable()将把上下文从 切换Linq to EntitiesLinq to Objects