Wyrażenie lambda dla wielu do wielu w kodzie C # EF 5 Najpierw

Używam EF 5 Code First i VS 2012. Mam klasy artykułów i tagów. Każdy artykuł będzie miał co najmniej jeden znacznik powiązany. Zobacz poniższe klasy.

public class Article
{
    public int ArticleId { get; set; }
    public virtual ICollection<ArticleTag> Tags { get; set; }
}
public class Tag
{
    public int TagId { get; set; }
    public string TagName { get; set; }
}

public class ArticleTag
{
    public int ArticleId { get; set; }
    public int TagId { get; set; }

    // navigation property
    public virtual Article Article { get; set; }
    public virtual Tag Tag { get; set; }
}

Poniżej kod, który próbowałem.requestTags zawiera listę TadgIds.repBase jest kontekstem db. Ale poniższy kod zatrzymuje wszystkie artykuły.

var idList = requestTags.tags.Select(t => t.id).ToList();
 var result= repBase.GetAll<Article>().Select(tg => tg.Tags.Where(tk => idList.Contains(tk.TagId))).ToList();

Proszę mi zdobyć listę artykułów dla danej listy TagIds.

Z góry dziękuję.

questionAnswers(1)

yourAnswerToTheQuestion