ASP.NET CORE: Ошибка: Object reference not set to an instance of an object

Не могу понять, почему не устанавливается ссылка на обьект с использованием Entity Framework Core.

Мои модели:

public class Album
{
    [ScaffoldColumn(false)]
    public int AlbumId { get; set; }

    [DisplayName("Genre")]
    public int GenreId { get; set; }

    [DisplayName("Artist")]
    public int ArtistId { get; set; }

    [StringLength(160)]
    public string Title { get; set; }
    public decimal Price { get; set; }

    [DisplayName("Album Art URL")]
    [StringLength(1024)]
    public string AlbumArtUrl { get; set; }
    public virtual Genre Genre { get; set; }
    public virtual Artist Artist { get; set; }
    public virtual List<OrderDetail> OrderDetails { get; set; }
}

public class Artist
{
    public int ArtistId { get; set; }
    public string Name { get; set; }
}

public partial class Genre
{
    public int GenreId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public List<Album> Albums { get; set; }
}

Контекст:

public class MusicStoreEntities : DbContext
{
    public DbSet<Album> Albums { get; set; }
    public DbSet<Genre> Genres { get; set; }
    public DbSet<Artist> Artist { get; set; }
    public DbSet<Cart> Carts { get; set; }
    public DbSet<Order> Orders { get; set; }
    public DbSet<OrderDetail> OrderDetails { get; set; }

    public MusicStoreEntities(DbContextOptions<MusicStoreEntities> options): base(options)
    {
    }
}

Код заполнения первоначальными данными:

public static class ModelBuilderExtensions
{
    public static void Initialize(MusicStoreEntities entities)
    {
        entities.Database.EnsureCreated();

        if (entities.Genres.Any())
        {
            return;   // DB has been seeded
        }
        
        var genres = new Genre[]
        {
            new Genre { Name = "Rock" },
            new Genre { Name = "Jazz" },
            new Genre { Name = "Metal" },
            new Genre { Name = "Alternative" },
            new Genre { Name = "Disco" },
            new Genre { Name = "Blues" },
            new Genre { Name = "Latin" },
            new Genre { Name = "Reggae" },
            new Genre { Name = "Pop" },
            new Genre { Name = "Classical" }
        };

        foreach (Genre g in genres)
        {
            entities.Genres.Add(g);
        }
        entities.SaveChanges();

        var artists = new Artist[]
        {
          new Artist { Name = "Aaron Copland & London Symphony Orchestra" },
            new Artist { Name = "Aaron Goldberg" },
            new Artist { Name = "AC/DC" },
            new Artist { Name = "Accept" },
            new Artist { Name = "Adrian Leaper & Doreen de Feis" },
            new Artist { Name = "Aerosmith" },
            new Artist { Name = "Aisha Duo" },
  
        };           

        var albums = new Album[]
        {
              new Album { Title = "A Copland Celebration, Vol. I", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Aaron Copland & London Symphony Orchestra"), AlbumArtUrl = $""},
            new Album { Title = "Worlds", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Aaron Goldberg"), AlbumArtUrl = "/Content/Images/placeholder.gif" },
            new Album { Title = "For Those About To Rock We Salute You", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "AC/DC"), AlbumArtUrl = "/Content/Images/placeholder.gif" },
            new Album { Title = "Let There Be Rock", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "AC/DC"), AlbumArtUrl = "/Content/Images/placeholder.gif" },
          
        };

        foreach (Album a in albums)
        {
            entities.Albums.Add(a);
        }
        entities.SaveChanges();
    }
}

Ошибка здесь, в методе Details, при откладке переменная album не имеет ссылки на Genre, Artist. В представлении это строка: @Model.Genre.Name выдает ошибку:

NullReferenceException: Object reference not set to an instance of an object.

Другие методы работают. БД полностью заполнена.

public class StoreController : Controller
{
    MusicStoreEntities storeDb;
    public StoreController(MusicStoreEntities storeDb)
    {
        this.storeDb = storeDb;
    }
    public ActionResult Index()
    {
        var genres = storeDb.Genres.ToList();
        return View(genres);
    }

    // GET: /Store/Browse
    public ActionResult Browse(string genre)
    {
        var genreModel = storeDb.Genres.Include("Albums")
        .Single(g => g.Name == genre);

        return View(genreModel);
    }
    // GET: /Store/Details
    public ActionResult Details(int id)
    {
        var album = storeDb.Albums.Find(id);
        return View(album);
    }
}

Ответы (0 шт):