/// <summary> /// Imports data from json /// </summary> /// <param name="json"></param> /// <returns></returns> public static int ImportFromJson(AlbumViewerContext context, string json) { // data exists if (context.Albums.Any()) return 1; var albums = JsonConvert.DeserializeObject<Album[]>(json); foreach (var album in albums) { // clear out primary/identity keys so insert works album.Id = 0; album.ArtistId = 0; album.Artist.Id = 0; var existingArtist = context.Artists .FirstOrDefault(a => a.ArtistName == album.Artist.ArtistName); if (existingArtist == null) { context.Artists.Add(album.Artist); } else { album.Artist = existingArtist; album.ArtistId = existingArtist.Id; } if (album.Tracks != null) { foreach (var track in album.Tracks) { track.Id = 0; context.Tracks.Add(track); } } context.Albums.Add(album); try { context.SaveChanges(); } catch { Console.WriteLine("Error adding: " + album.ArtistId); } } var user = new User() { Username = "******", Password = "******", Fullname = "Test User", }; context.Users.Add(user); context.SaveChanges(); return 1; }