如何使用Linq to Sql从多对多关系中获取不同的记录

时间:2010-06-28 16:47:49

标签: .net linq-to-sql

为简洁起见,假设我有以下3个表(m:n):文章,主题和连接表ArticleTopic。我需要获取 n 主题的顶级 n 文章。每篇文章只应为整个结果集显示一次。

文章: -ID -title

主题: -ID -name

ArticleTopic: -ID -ArticleId -TopicId

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

topics
   .SelectMany(topic => topic.ArticleTopic)
   .Select(articleTopic => article)
   .Distinct()

但对我来说, top n 的意思并不明显 - 我在你的问题中看不到任何排名信息。