我正在使用Linq查询实体框架SQL数据库。
这是我的代码:
var found = this.keys.FirstOrDefault(r => r.Key.ToLowerInvariant() == key.ToLowerInvariant());
我收到以下错误:
LINQ to Entities无法识别方法'System.String ToLowerInvariant()'方法,并且此方法无法转换为 商店表达。
我立即将其改为:
var found = this.keys.FirstOrDefault(r => r.Key.ToLower() == key.ToLower());
但是,我收到了同样的错误。我测试了以下内容:
var found = this.keys.FirstOrDefault();
我仍然收到完全相同的错误。这是某种方式被缓存或什么?任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
针对EF的查询被转换为SQL,因此,它尝试转换您的查询但没有成功,因为EF无法将LINQ转换为对象的许多表达式。 您可以在msdn。
中找到更多相关信息