Эта часть:
x.Tags.Where(y => y.Name == tag)
вернет IEnumerable из того, что находится в Tags
с Name == tag
.Затем вы сравниваете это с «истиной», которая не имеет большого смысла.
Возможно, вы хотите этого?
var posts = BlogPostRepository.Find()
.Where(x => x.Tags.Any(y => y.Name == tag))
.ToList()
или вместо Любого, Все?