2013-01-11 70 views
1
路口查詢

我有以下類別: -多到許多與LINQ

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))); 

我怎樣才能得到這個工作?

感謝

+0

我覺得造型可以稍微進行重構。如果它很多,BlogTag類不應該有一個Blog。 Theoritically,你可以相當有一個List 。取決於你是否總是要自上而下查詢。 –

回答

3

取代All通過Any做前人的精力

這將檢查「至少一個」的博客blockTag包含標記名的伎倆。

隨着All,所有從博客的blockTags應包含標記名。

+0

是的,它現在正在工作。但爲什麼?當我把所有不返回任何博客回 – Johann

+0

@Johann看到編輯。希望它使事情更清楚。 –

+0

感謝拉斐爾,但它確實!感謝您的幫助 – Johann