Как включить подсчитанное свойство в запрос и переименовать столбец в результате в c # - PullRequest
1 голос
/ 25 апреля 2019

В Entity Framework-core мне нужно выбрать свойства из таблицы в моем проекте ASP.NET, получить подсчитанное свойство и переименовать его для результатов запроса. Ниже мой код запроса

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

В моих результатах мне просто нужно подсчитанное количество тем для каждого предмета, а не весь столбец тем, и я хочу переименовать его в closed_topics для полученной таблицы. Итак, мне нужно что-то вроде t => t.Topics.Count as no_of_topics

Я использую ASP.NET-Core 2.2

Пожалуйста, я не знаю, как этого добиться. Мне нужна помощь. Спасибо за ваш ожидаемый гид

1 Ответ

1 голос
/ 25 апреля 2019

Вы можете 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());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...