.Net core + AutoMapper + Lazy loading = Типы отображения ошибок - PullRequest
0 голосов
/ 08 января 2019

Когда я запускаю свое приложение, оно выдает ошибку:

InvalidOperationException: ошибка, сгенерированная для предупреждения «Microsoft.EntityFrameworkCore.Infrastructure.DetachedLazyLoadingWarning: Была предпринята попытка отложенной загрузки свойства навигации «Альбомы» в отдельная сущность типа ArtistProxy. Ленивая загрузка не поддерживается для отдельных объектов или объектов, которые загружены 'AsNoTracking ()'.

AutoMapperMappingException: типы сопоставления ошибок.

Типы сопоставления: Artist -> Artist Data.Entities.Artist -> Services.Models.Artist

Тип Конфигурация карты: Artist -> Artist Data.Entities.Artist -> Services.Models.Artist

Получатель: Альбомы

Альбомы - это свойство, которое я пытаюсь загрузить лениво. Исключение говорит мне, что я не могу использовать AsNoTracking, что я не использую, и моя сущность также не должна быть отключена.

Это моя конфигурация для DbContext

services.AddDbContext<DataContext>(options => 
                options.UseLazyLoadingProxies()
                       .UseSqlServer(configuration.GetConnectionString("DataContext"))
            );

Я также пытался использовать LifeStyle Transient, но тот же результат.

Организация:

public class Artist : BaseEntity
    {
        public string Name { get; set; }

        public string Image { get; set; }

        public virtual ICollection<Album> Albums { get; set; }
    }

DAL:

public Artist Get(int id)
        {
            return _context.Artists.Find(id);
        }

Услуги:

public Artist Get(int id)
        {
            return _mapper.Map<Artist>(_artistDal.Get(id));
        }

Мой профиль сопоставления просто:

CreateMap< Data.Entities.Artist, Artist>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...