使用linq将列表与另一个列表中的列表进行比较

时间:2017-11-10 13:41:07

标签: c# list linq

我有Job,Tag和TagDto类。工作类有ICollection<Tag> Tags列表。我有查询,其中包含IQueryable<Job>列表中的所有作业。我现在必须选择那些在input.Tags列表中的Job.Tags列表中有一个或多个标签的作业(List<TagDto>)作为新列表。

IQueryabke<Job> query;
List<TagDto> input.Tags;

class Job
{
  ICollection<Tag> Tags;
}
class Tag
{
  string Text;
  other properties...
}
class TagDto
{
  string Text;
  other properties...
}

我尝试了类似

的内容
query = query.Where(p => input.Tags.Any(inputTag => p.Tags.Any(tag => tag.Id == inputTag.Id)));

但我收到错误"Unable to create a constant value of type 'ProjectA.Tags.TagDto'. Only primitive types or enumeration types are supported in this context."

0 个答案:

没有答案