@Rakesh Это все еще работает для меня в 2.1.3. Вы можете оставить вопрос с репро.

отаю над созданием общего репозитория для проекта EF Core, чтобы избежать необходимости писать CRUD для всех моделей. Главное препятствие, на которое я наткнулся, - это то, что свойства навигации не загружаются, поскольку Core еще не поддерживает отложенную загрузку, и универсальный класс, очевидно, не может определять операторы .Include для свойств, специфичных для класса.

Я пытаюсь сделать что-то подобное для моего метода Get, чтобы включить все свойства динамически:

public virtual T Get(Guid itemId, bool eager = false)
        {
            IQueryable<T> querySet = _context.Set<T>();

            if (eager)
            {
                foreach (PropertyInfo p in typeof(T).GetProperties())
                {
                    querySet = querySet.Include(p.Name);
                } 
            }

            return querySet.SingleOrDefault(i => i.EntityId == itemId);
        }

Но он выдает ошибку при включении свойств, которые не являются свойствами навигации.

Я нашел этот ответ, который примерно такой же, но для EF 5 и включает методы, которых нет в ядре EF:

EF5 Как получить список свойств навигации для объекта домена

Можно ли добиться того же в EF Core?

Ответы на вопрос(1)

Ваш ответ на вопрос