Я использую многие отношения -к -многим для своих таблиц.
Есть запрос:
var query = from post in context.Posts
from tag in post.Tags where tag.TagId == 10
select post;
Хорошо, работает нормально. Я получаю сообщения с тегом, указанным id.
У меня есть коллекция идентификаторов тегов. И я хочу, чтобы сообщения имели все теги в моей коллекции.
Пробую следующим образом.:
var tagIds = new int[]{1, 3, 7, 23, 56};
var query = from post in context.Posts
from tag in post.Tags where tagIds.Contains( tag.TagId )
select post;
Не работает. Запрос возвращает все сообщения, имеющие ЛЮБОЙ один из указанных тегов.
Я хочу получить подобное предложение, но динамически для любого количества тегов в коллекции:
post.Tags.Whare(x => x.TagId = 1 && x.TagId = 3 && x.TagId = 7 &&... )