По умолчанию LazyLoading отключен в моем DbContext. Я использую шаблон репозитория, и в некоторых случаях мне нужно получить только простой объект, а в другом мне нужно получить объект со значениями свойств навигации.Коммутаторы для LazyLoading с шаблоном репозитория
Как я могу реализовать что-то вроде переключателей для LazyLoading?
Любая помощь будет оценена
У меня есть одно решение, которое работает, но я не уверен, что это правильно: в интерфейсе хранилища Я добавил новое свойство
public interface IRepository<T> where T : BaseEntity
{
T GetById(object id);
void Insert(T entity);
.....
bool LazyLoadingSwitches { set; }
}
Затем реализовали:
public bool LazyLoadingSwitches
{
set
{
this.context.Configuration.LazyLoadingEnabled = value;
}
}
и когда мне нужно, чтобы получить модель с соответствующими данными, то я использую в контроллере:
repository.LazyLoadingSwitches = true;
name = order.Customer.FullName;
repository.LazyLoadingSwitches = false;
Пожалуйста, предложите мне, что является лучшим решением для этого?
Выглядит хорошо для меня. –