@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?