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ę.