Я пытаюсь определить объект 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 всегда пусто.
Что может быть здесь не так