4
LINQ to Entities无法识别该方法
尝试执行linq查询时出现以下错误: LINQ to Entities无法识别方法“ Boolean IsCharityMatching(System.String,System.String)”方法,并且该方法无法转换为商店表达式。 我已经阅读了很多以前的问题,人们会遇到相同的错误,如果我理解正确,那是因为LINQ to Entities要求将整个linq查询表达式转换为服务器查询,因此您不能调用外部方法在里面。我还无法将情景转换成可以正常使用的东西,而且我的大脑开始融化,所以我希望有人可以指出正确的方向。我们正在使用Entity Framework和规范模式(并且我都是新手)。 这是使用规范的代码: ISpecification<Charity> specification = new CharitySearchSpecification(charityTitle, charityReference); charities = charitiesRepository.Find(specification).OrderBy(p => p.RegisteredName).ToList(); 这是linq表达式: public System.Linq.Expressions.Expression<Func<Charity, bool>> IsSatisfied() { return p => p.IsCharityMatching(this.charityName, this.charityReference); } 这是IsCharityMatching方法: public bool IsCharityMatching(string name, string referenceNumber) { bool exists = true; if (!String.IsNullOrEmpty(name)) { if …