Как сделать вычисления каунтеров (int свойства в модели для подсчета сервисов) на уровне моделей

Есть каунтер для подсчета сервисов в категориях самих сервисов. Мне нужно подсчитать количество сервисов в категориях и сервисов без категорий, я реализовал это с помощью добавления свойства ServiceCount и подсчета сервисов в циклах, в разных моделях, но мне сказали, что проще будет реализовать на уровне моделей и посмотреть в сторону метода Sum, вопрос, где можно про это почитать или как реализовать. В свойствах ServiceCount должно находиться число сервисов.
Модели и мой код ниже

CompanyDirectory directory = new CompanyDirectory();

directory.MainCategories = //получил данные

foreach (var mainCategory in directory.MainCategories)
{
    mainCategory.Categories = // получил данные

    foreach (var category in mainCategory.Categories)
    {
        category.Services = //получил данные

        mainCategory.ServiceCount += category.Services.Count;
    }

    mainCategory.Services = //получил данные

        mainCategory.ServiceCount += mainCategory.Services.Count;

    directory.ServiceCount += mainCategory.ServiceCount;
}

return directory;

Основная модель справочника

public class CompanyDirectory
{
    public CompanyDirectory() 
    { 
        MainCategories = new List<ShortMainCategoryModel>(); 
    }

    public List<ShortMainCategoryModel> MainCategories { get; set; }
    public int ServiceCount { get; set; }
}

Модель основной категории

public class ShortMainCategoryModel : ShortBaseServiceModel
{
    public string DescriptionForUser { get; set; }

    public List<ShortCategoryModel> Categories {get;set;}
    public List<ShortServiceModel> Services { get; set; }

    public int CountOfServicesInShortMainCategory{get;set; }
}

Ответы (0 шт):