EF Core Заполните «свойство NotMapped» из не включенного списка объектов - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть две сущности, подобные этим

    public class PetShop
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public IList<Cat> Cats { get; set; }

        [NotMapped]
        public Cat OldestCat {
            get => Cats.OrderBy(c => c.BirthDate).FirstOrDefault();
        }
    }

    public class Cat
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public DateTime BirthDate { get; set; }
    }

Обычно, чтобы получить PetShop со всеми кошками, это запрос, который я должен сделать с моим DbContext:

    DbContext
        .PetShop
        .Include(a => a.Cats);

Но иногда я не хочу включать всех кошек в PetShop, поскольку у меня может быть много кошек, но мне все равно нужно заполнить свой OldestCat, но без включения кошек мой получатель ничего мне не вернет.

Есть ли способ заполнить мое свойство NotMapped OldestCat, не включая всех моих кошек?

1 Ответ

0 голосов
/ 21 февраля 2020

Изменить. Я изменил ответ. Мейби проще всего было бы сделать ссылку с кошки на магазин для животных, а затем начать с кота и из этого выбрать магазин для животных?

Я не проверял код.

DbContext
.Cats
.Where(c => c.PetShop.Id == 5)
.OrderBy(c => c.BirthDate)
.Select(c => c.PetShop)
.FirstOrDefault()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...