我有以下两个表:
1.) Articles - [ArticleID]
2.) ArticleComments - [CommentID], [ArticleID]
我想检索带有最大值的ArticleID。例如。
ArticleID - 2
TotalNoOfComments - 15
如何在Entity Framework中执行此操作?
我访问ArticleComments集合如下:article.ArticleComments。以下是存储结果的对象。
public class CommentStats
{
public int ContextId { get; set; }
public int CommentCount { get; set; }
}
答案 0 :(得分:2)
var query = context.Articles.
Select(a => new CommentStats
{
ContextId = a.Id,
CommentCount = a.ArticleComments.Count
}
).OrderByDescending(cs => cs.commentCount);
然后,您可以针对包含大多数评论的一篇文章运行FirstOrDefault
,或者为整个有序列表运行ToList
。