Я получил бэкэнд на Asp. Net Core. Структура базы данных выглядит так:
- Пользователь - основная информация о пользователе: логин, пароль и т. Д. c.
- Профиль - эта сущность связана с «Пользовательской». к одному отношению
- Фотографии профиля - у каждого пользователя есть своя коллекция фотографий. Эта сущность связана с «Профилем»
Вот сущность «Пользователь»:
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Username { get; set; }
public byte[] PasswordHash { get; set; }
public byte[] PasswordSalt { get; set; }
public Profile Profile { get; set; }
}
Затем Профиль:
public class Profile
{
[ForeignKey("User")]
public int Id { get; set; }
public string BannerImageUrl { get; set; }
public string ProfileImageUrl { get; set; }
public string ShortDescription { get; set; }
public string Description { get; set; }
public User User { get; set; }
public ICollection<ProfilePhotos> ProfilePhotos { get; set; }
}
И «ProfilePhotos ":
public class ProfilePhotos
{
public int Id { get; set; }
public string ImageUrl { get; set; }
public int ProfileId { get; set; }
public Profile Profile { get; set; }
}
Я хочу получить все фотографии профиля, поэтому я создал конечную точку для этого:
[HttpGet("{username}/photos")]
public IActionResult GetPhotos(string username)
{
var profilePhotos = _profileService.GetAllPhotos(username);
var model = _mapper.Map<IList<ProfilePhotosModel>>(profilePhotos);
return Ok(model);
}
Чтобы получить все фотографии, я использую метод из" profileService ":
public IEnumerable<ProfilePhotos> GetAllPhotos(string username)
{
return _context.ProfilePhotos.Include(a=>a.Profile).ThenInclude(b=>b.User).Where(x => x.Profile.User.Username == username);
}
В ответ я хочу получить идентификатор фотографии, photoUrl и имя пользователя, поэтому я сопоставил фотографии своего профиля с "ProfilePhotosModel"
public class ProfilePhotosModel
{
public int Id { get; set; }
public string ImageUrl { get; set; }
public string Username { get; set; }
}
, но, к сожалению, в ответ я получаю только Id и photoUrl. Нулевое имя пользователя :( Что я делаю не так?