Automapper не отображает ссылку - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь определить объект DTO с пользовательским свойством, это свойство устанавливается свойством ссылки.

У меня есть следующие объекты:

public class Book
{
   public long Id { get; set; }

   public virtual ICollection<Site> sites{ get; set; } = new List<Site>();
}

и мой DTO

public class BookDTO
{
   public long Id { get; set; }

   public string siteName { get; set; }
}

и у меня следующий профиль сопоставления

public IdentityCardProfile()
{
  var validAt = DateTime.Now;
  CreateMap<Book, BookDTO>()
    .ForMember(o => o.siteName , o => o.MapFrom(s => GetSiteName(s.sites, validAt)));
}

private string GetSiteName(IEnumerable<Site> sites, DateTime validAt)
{
  //GetValidAt is an extension that returns a single site
  var valid = sites.GetValidAt(validAt, false)

  return validDetail != null ? valid.name: string.Empty;
}

Проблема:

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

Что может быть здесь не так

...