我试着得到3篇相关的文章,其中大多数标签与主文章相同。
我有这个数据库结构:
当我拿到主要文章时,我得到了与文章相关的标签。然后,我将项目的IDarticle和标记列表传递给函数以获取相关的3个项目。
在文章和标签之间起粘合作用的列表是articolotag,我认为这是要检查的列表,以获取具有大多数重复标签的文章。
显然,我认为最好在服务器端用c#开发这个算法怎么对付林肯?
谢谢你的帮助
最佳答案
为了找到标签最多的前三篇文章,您可以使用ArticoloTag
并在IdTag
上加入自己。
LINQ可以如下所示:
ArticoloTag.Where (a=>a.IdArticolo== mainArticleId).Join(ArticoloTag, a=>a.IdTag, a=>a.IdTag, (a,b)=> b.IdArticolo).GroupBy(a=>a.IdArticolo).OrderBy(g=>g.Count()).Select(g => g.Key).Take(3)
这会收回你的3个字母。
您可以将join添加到
Articolo
表中以获取实际的文章