如何在查询中包含计数属性并在 C# 中重命名结果中的列

使用 Entity Framework-core,我需要从我的 ASP.NET 项目中的表中选择属性并获取计数的属性并将其重命名为查询结果。下面是我的查询代码

var result = _context.Subjects.Include(s => s.Course).Include(t => t.Topics); 
       return View(await result.ToListAsync());

在我的结果中,我只需要计算每个主题的主题数量而不是整个主题列,我想将它重命名为 covered_topics 作为结果表。所以,我需要像 t => t.Topics.Count as no_of_topics这样的东西

我正在运行 ASP.NET-Core 2.2

请我不知道如何实现。我需要帮助。感谢您期待的指导


呼如林
浏览 108回答 1
1回答

忽然笑

您可以Select从查询中创建一个新的 DTO,如下所示:public class TopicDTO(){    public int NumberOfTopics { get; set; }}然后在您的查询中:var result = _context.Subjects                     .Include(s => s.Course)                     .Include(t => t.Topics)                     .Select(x => new TopicDTO()                       {                          NumberOfTopics = x.Topics.Count()                      });return View(await result.ToListAsync());
打开App,查看更多内容
随时随地看视频慕课网APP