по вашему мнению вы можете попробовать:
<li>Actors: @string.Join("," Model.Movie.Actors.Select(a => a.Name).ToList())</li>
Таким образом, вы покажете список имен актеров, связанных с mov ie, который вы добавили в вашу модель представления.
Но я бы предложил вам реорганизовать модель представления, включив в нее список имен актеров, чтобы вы убрали логи c из вида. После этого ваш взгляд должен выглядеть следующим образом:
public class MovieDetailsViewModel
{
public Movie Movie { get; set; }
public List<string> ActorsNames { get; set; }
}
В вашем контроллере вы должны сделать:
public ActionResult Details(int id)
{
var movie = _context.Movies.SingleOrDefault(m => m.Id == id);
var viewModel = new MovieDetailsViewModel
{
Movie = movie,
ActorsNames = string.Join(",", movie.Actors.Select(a => a.Name).ToList())
};
if (movie == null)
return HttpNotFound();
return View(viewModel);
}
Как вы можете видеть, я удалил код, в котором вы получаете одного актера от актеров DbSet, потому что это не полезно. Действительно, вам нужен полный список всех актеров, которые появились в mov ie, которые вы получаете из Movies DbSet, а не просто актер с тем же идентификатором mov ie, для которого вы должны загрузить детали.
Кроме того, обязательно включите отложенную загрузку, чтобы получить коллекцию актеров, связанных с mov ie, в противном случае вы получите пустую коллекцию.
Дайте мне знать, если мои предложения будет полезно.