【发布时间】:2012-10-24 14:29:37
【问题描述】:
我使用的是 EF 5 Code First 和 VS 2012。 我有文章和标签的课程。每篇文章将至少关联一个标签。 请参阅下面的课程。
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; }
}
下面是我试过的代码。 requestTags 包含 TadgId 列表。 repBase 是数据库上下文。但下面的代码正在返回所有文章。
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();
请帮我获取给定 TagId 列表的文章列表。
提前致谢。
【问题讨论】:
-
编辑我的旧问题的原因是,我不想找到更多的 DownVotes。打开新问题的原因是,我不确定是否有机会根据 Stackoverflow 协议重新打开已关闭的问题
-
好吧,我的意思是,如果你有 5 次反对完全相同的问题,你应该问自己,“我可以改变什么,这样我就不会再得到 5 次反对”
-
感谢关注。实际上,我最初的第一个问题很简单,只有两行。只是要求具有 3 个类名的多对多关系表达式(我为没有喝咖啡而付出了代价:))。我编辑的问题将提供我正在寻找的完整信息。
-
对,我刚刚阅读了未经编辑的原始问题。对不起!
标签: linq c#-4.0 lambda ef-code-first