【发布时间】:2011-10-04 04:36:46
【问题描述】:
我下面的查询有什么问题吗?我收到 NotSupportedException ""无法创建 JobLanguage 类型的常量值。此上下文仅支持原始类型('例如 Int32、String 和 Guid')。"
public IQueryable<Candidate> GetMatchingCandidates(Job job)
{
return from candidate in _db.Candidates
where candidate.CandidateLanguages.Any(c => job.JobLanguages.Select(jl => jl.LanguageId.Value).Contains(c.LanguageId))
orderby candidate.Name descending
select candidate;
}
//caller
List<Candidate> matchingCandidates = _repository.GetMatchingCandidates(job).ToList();
显然,这是一个已知问题 (http://msdn.microsoft.com/en-us/library/bb896317.aspx#RefNonScalarClosures),但我想知道如何解决它。基本上,我想做的是:Comparing two lists using linq to sql
【问题讨论】:
标签: .net asp.net asp.net-mvc linq entity-framework