Как я могу получить связанный объект из базы данных? - PullRequest
0 голосов
/ 06 августа 2020

У меня есть 2 класса:

    public class Category
{
    public int Id { get; set; }
    [Required(ErrorMessage = "Pole nie może być puste")]
    public string Name { get; set; }
    public List<Subcategory> Subcategories {get;set;}
}
    public class Subcategory
{
    public int Id { get; set; }
    [Required(ErrorMessage = "Pole nie może być puste")]
    [DisplayName("Nazwa podkategorii")]
    public string Name { get; set; }
    public int CategoryId { get; set; }
    public Category Category { get; set; }
}

И у меня есть класс, в котором я пытаюсь получить свой объект «Категория»

        public IEnumerable<Category> GetAllCategories()
    {
        return context.Categories.Include(c => c.Subcategories);
    }

    public Category GetCategory(int Id)
    {
        return context.Categories.Find(Id);
    }

Метод GetAllCategories работает нормально, но когда я использую GetCategory Я получаю только данные категории без списка связанных объектов «Подкатегория». Кто-нибудь может помочь мне с моей проблемой? Как получить объект целиком?

1 Ответ

0 голосов
/ 06 августа 2020

Вам необходимо указать отношения, которые вам нужны:

public Category GetCategory(int Id)
{
    return context.Categories.Include(e => e.Subcategories).Single(e => e.Id == Id);
}

Вы можете увидеть больше примеров здесь: https://docs.microsoft.com/en-us/ef/core/querying/related-data

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...