LINQ的多对多交集查询

时间:2013-01-11 10:31:16

标签: c# linq entity-framework asp.net-mvc-4

我有以下课程: -

Blog.cs
public int BlogId { get; set; }
public string BlogTitle { get; set; }
public virtual ICollection<BlogTag> BlogTags { get; set; }

BlogTag.cs
public int BlogTagId { get; set; }
public string BlogTagName { get; set; }
public Blog Blog { get; set; }
public int BlogId { get; set; }

现在我需要获取包含BlogTagName的博客列表,所以我尝试了以下但是它无法正常工作: -

 var tags = viewModel.BlogViewModel.BlogList.Where(post => post.BlogTags.All(tag => tag.BlogTagName.Contains(tagName)));

我怎样才能使这个工作?

由于

1 个答案:

答案 0 :(得分:3)

All替换为Any可以做到的伎俩

这将检查博客的“至少一个”blockTag是否包含您的tagName。

使用All,博客中的所有blockTag都应包含您的tagName。