private async Task AnimeToDatabase(Anime anime) { var animeDbo = new AnimeDbo(); animeDbo.CopyBaseAndNavigationProperties(source: anime); database.Animes.Add(animeDbo); foreach (var genre in anime.Genres) { var genreDbo = await database.Genres.SingleOrDefaultAsync(g => g.Slug == genre.Slug); database.GenreMappings.Add(new GenreMapping { Anime = animeDbo, Genre = genreDbo ?? genre }); } foreach (var studio in anime.Studios) { var studioDbo = await database.Studios.SingleOrDefaultAsync(s => s.Slug == studio.Slug); database.StudioMappings.Add(new StudioMapping { Anime = animeDbo, Studio = studioDbo ?? studio }); } await database.SaveChangesAsync(); }