首先,很抱歉我的英语不太好。我希望我能解释我的问题。
WebApi有这样的电影类
public class Movie
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public DateTime ReleaseDate { get; set; }
public float Price { get; set; }
public int DirectorID { get; set; }
public Director Director { get; set; }
public int GenreID { get; set; }
public Genre Genre { get; set; }
public ICollection<Actor> Actors { get; set; }
}
当我使用HttpGet电影它发生
它不能读取演员。我怎样才能解决这个问题?
GetMoviesQuery
namespace WebApi.Application.MovieOperations.Queries.GetMovies
{
public class GetMoviesQuery
{
private readonly IMovieStoreDbContext _context;
private readonly IMapper _mapper;
public GetMoviesQuery(IMovieStoreDbContext context, IMapper mapper)
{
_context = context;
_mapper = mapper;
}
public List<GetMoviesModel> Handle()
{
var _movieList = _context.Movies.Include(x => x.Genre).Include(y => y.Director).OrderBy(z => z.Id).ToList<Movie>();
List<GetMoviesModel> mv = _mapper.Map<List<GetMoviesModel>>(_movieList);
return mv;
}
}
public class GetMoviesModel
{
public string Name { get; set; }
public string ReleaseDate { get; set; }
public string Genre { get; set; }
public string Director { get; set; }
public float Price { get; set; }
public ICollection<Actor> Actors { get; set; }
}
}
谢谢。
你也必须包括演员
var _movieList = _context.Movies
.Include(x => x.Actors)
.Include(x => x.Genre)
.Include(y => y.Director)
.OrderBy(z => z.Id)
.ToList();
更新:
如果你只需要演员的名字和姓氏,你将不得不创建一个模型类
public class ActorViewModel
{
public string Name { get; set; }
public string SurName { get; set; }
}
并相应地修复GetMoviesModel
public class GetMoviesModel
{
public string Name { get; set; }
.....
public ICollection<ActorViewModel> Actors { get; set; }
}