У меня есть следующий код:
var list = _context.RandomPoolSelectionMembers
.Include(d => d.Driver)
.ThenInclude(driver => driver.DlStateProvince)
.Where(p => p.RandomPoolSelectionId == lastSelection.Id).ProjectTo<RandomPoolSelectionMemberDto>(_mapperConfig).ToList();
, где _mapperConfig
:
_mapperConfig = new MapperConfiguration(cfg =>
{
cfg.AddProfile<AutoMapperEfRandomPoolSelectionMember>();
});
public class AutoMapperEfRandomPoolSelectionMember : AutoMapper.Profile
{
public AutoMapperEfRandomPoolSelectionMember()
{
CreateMap<RandomPoolSelectionMember, RandomPoolSelectionMemberDto>()
.ForMember(destinationMember => destinationMember.PrimaryID, o => o.MapFrom(src => src.Driver.PrimaryId))
.ForMember(d => d.FirstName, o => o.MapFrom(src => src.Driver.FirstName))
.ForMember(d => d.LastName, o => o.MapFrom(src => src.Driver.LastName))
;
}
Driver
сущность имеет следующие свойства:
public partial class Driver : BaseEntity
{
public Driver()
{
this.CreatedOn = DateTime.UtcNow;
this.PayrollPaymentMethod = PaymentMethod.PayCheck;
}
public int CarrierId { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public string Nickname { get; set; }
public string Suffix { get; set; }
public string PrimaryId
{
get
{
if (!string.IsNullOrWhiteSpace(DlNumber) && DlStateProvinceId.HasValue)
return DlStateProvince.Abbreviation + DlNumber.Replace("-", "");
else
return string.Empty;
}
}
public int? DlStateProvinceId { get; set; }
public virtual StateProvince DlStateProvince { get; set; }
но я получаю сообщение об ошибке:
System.InvalidOperationException: 'Ошибка, сгенерированная для предупреждения' Microsoft.EntityFrameworkCore.Infrastructure.DetachedLazyLoadingWarning: была предпринята попытка лениво загрузить свойство навигации DlStateProvince на отдельном объекте введите «DriverProxy». Ленивая загрузка не поддерживается для отдельных объектов или объектов, которые загружены с помощью «AsNoTracking ()». Это исключение можно подавить или зарегистрировать, передав идентификатор события «CoreEventId.DetachedLazyLoadingWarning» методу «ConfigureWarnings» в «DbContext.OnConfiguring» или «AddDbContext».
что не так, я включил виртуальный свойства для запроса ....