更新数据库错误无法解析成员类型

Error on update-database Can't resolve Type for member

当我尝试在我的程序包管理器控制台上按下更新数据库时 我得到这个错误

Type is not resolved for member 'Newtonsoft.Json.JsonSerializationException,Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'.

我该如何解决这个错误?我的代码是:

protected override void Seed(Gamer.DataLayer.GamerContext context)
        {
            // TODO:
            // Create a class GamerData to store a list of Games 
            // Deserialize the JSON string to a GamerData object (call this object gdata)

        var gdata = JsonConvert.DeserializeObject<GamerContext>(_json);
            Console.WriteLine(gdata.Games.Where(x => x.Language == "EN"));

            
            foreach (var game in gdata.Games)
            {

                foreach (var gameGenre in game.GameGenres)
                {
                    Genre myGenre = context.Genres.Where(g => g.GenreId == gameGenre.GenreId).FirstOrDefault();
                    if (myGenre != null)
                        gameGenre.GenreId = myGenre.GenreId;
                }
                foreach (var platformGame in game.PlatformGames)
                {
                    Platform myPlatform = context.Platforms.Where(p => p.PlatformId == platformGame.Platform.PlatformId).FirstOrDefault();
                    if (myPlatform != null)
                        platformGame.Platform = myPlatform;
                }
                context.Games.Add(game);
                context.SaveChanges();

                // Add the data to your database           
            }
        }

_json Json 是一个充满了 JSON 的字符串,其中包含我数据库的所有数据

JSON 字符串

private string _json = @"{""Games"":[
{
    ""EAN"":""2750026762618"",
    ""GameName"":""Uncharted 4"",
    ""Language"":""en|nl"",
    ""GameGenres"":
    [
        { 
            ""GameId"": ""2750026762618"",
            ""Genre"":{
                ""GenreId"":""1"",
                ""GenreName"":""Actie""}
        },
        {             
            ""GameId"": ""2750026762618"",
            ""Genre"":{
                ""GenreId"":""2"",
                ""GenreName"":""Avontuur""}
        },
        {             
            ""GameId"": ""2750026762618"",
            ""Genre"":{
                ""GenreId"":""9"",
                ""GenreName"":""Role Playing Game""}
        },
        { 
            
            ""GameId"": ""2750026762618"",
            ""Genre"":{
                ""GenreId"":""10"",
                ""GenreName"":""Shooter""}
        }
    ],
    ""PlatformGames"":
    [
        {
            ""GameId"":""2750026762618"",
            ""Platform"":{
                ""PlatformId"":""2"",
                ""PlatformName"":""Playstation 4""},                            
            ""Price"":""59.99""
        }   
    ]
},
{
    ""EAN"":""5030944112878"",
    ""GameName"":""Fifa 16"",
    ""Language"":""en"",
    ""GameGenres"":
    [
        { 
            ""GameId"": ""5030944112878"",
            ""Genre"":{
                ""GenreId"":""1"",
                ""GenreName"":""Actie""}
        },
        {             
            ""GameId"": ""5030944112878"",
            ""Genre"":{
                ""GenreId"":""12"",
                ""GenreName"":""Sport""}
        }
    ],
    ""PlatformGames"":
    [
        {
            ""GameId"":""5030944112878"",
            ""Platform"":{
                ""PlatformId"":""1"",
                ""PlatformName"":""PC""},                            
            ""Price"":""34.99""
        },
        {
            ""GameId"":""5030944112878"",
            ""Platform"":{
                ""PlatformId"":""2"",
                ""PlatformName"":""Playstation 4""},                            
            ""Price"":""39.99""
        },
        {
            ""GameId"":""5030944112878"",
            ""Platform"":{
                ""PlatformId"":""3"",
                ""PlatformName"":""Xbox One""},                            
            ""Price"":""39.99""
        } 
    ]
},
{
    ""EAN"":""5030948112294"",
    ""GameName"":""De Sims 4"",
    ""Language"":""nl"",
    ""GameGenres"":
    [
        { 
            ""GameId"": ""5030948112294"",
            ""Genre"":{
                ""GenreId"":""11"",
                ""GenreName"":""Simulatie""}
        }
    ],
    ""PlatformGames"":
    [
        {
            ""GameId"":""5030948112294"",
            ""Platform"":{
                ""PlatformId"":""1"",
                ""PlatformName"":""PC""},                            
            ""Price"":""71.08""
        }
    ]
},
{
    ""EAN"":""5030949112576"",
    ""GameName"":""Star Wars Battlefront"",
    ""Language"":""en"",
    ""GameGenres"":
    [
        { 
            ""GameId"": ""5030949112576"",
            ""Genre"":{
                ""GenreId"":""2"",
                ""GenreName"":""Avontuur""}
        },
        { 
            ""GameId"": ""5030949112576"",
            ""Genre"":{
                ""GenreId"":""10"",
                ""GenreName"":""Shooter""}
        }
    ],
    ""PlatformGames"":
    [
        {
            ""GameId"":""5030949112576"",
            ""Platform"":{
                ""PlatformId"":""1"",
                ""PlatformName"":""PC""},                            
            ""Price"":""24.99""
        },  
        {
            ""GameId"":""5030949112576"",
            ""Platform"":{
                ""PlatformId"":""2"",
                ""PlatformName"":""Playstation 4""},                            
            ""Price"":""24.99""
        },
        {
            ""GameId"":""5030949112576"",
            ""Platform"":{
                ""PlatformId"":""3"",
                ""PlatformName"":""Xbox One""},                            
            ""Price"":""34.99""
        }     
    ]
},
{
    ""EAN"":""5055856403357"",
    ""GameName"":""Doom"",
    ""Language"":""en"",
    ""GameGenres"":
    [
        { 
            ""GameId"": ""5055856403357"",
            ""Genre"":{
                ""GenreId"":""1"",
                ""GenreName"":""Actie""}
        }
    ],
    ""PlatformGames"":
    [
        {
            ""GameId"":""5055856403357"",
            ""Platform"":{
                ""PlatformId"":""1"",
                ""PlatformName"":""PC""},                            
            ""Price"":""49.99""
        },  
        {
            ""GameId"":""5055856403357"",
            ""Platform"":{
                ""PlatformId"":""2"",
                ""PlatformName"":""Playstation 4""},                            
            ""Price"":""59.99""
        },
        {
            ""GameId"":""5055856403357"",
            ""Platform"":{
                ""PlatformId"":""3"",
                ""PlatformName"":""Xbox One""},                            
            ""Price"":""59.99""
        }     
    ]
},
{
    ""EAN"":""5060146463188"",
    ""GameName"":""Minecraft Story Mode"",
    ""Language"":""nl"",
    ""GameGenres"":
    [
        { 
            ""GameId"": ""5060146463188"",
            ""Genre"":{
                ""GenreId"":""2"",
                ""GenreName"":""Avontuur""}
        }
    ],
    ""PlatformGames"":
    [
        {
            ""GameId"":""5060146463188"",
            ""Platform"":{
                ""PlatformId"":""2"",
                ""PlatformName"":""Playstation 4""},                            
            ""Price"":""30.99""
        },  
        {
            ""GameId"":""5060146463188"",
            ""Platform"":{
                ""PlatformId"":""3"",
                ""PlatformName"":""Xbox One""},                            
            ""Price"":""31.99""
        },
        {
            ""GameId"":""5060146463188"",
            ""Platform"":{
                ""PlatformId"":""4"",
                ""PlatformName"":""Wii U""},                            
            ""Price"":""39.99""
        }     
    ]
},
{
    ""EAN"":""5055856406136"",
    ""GameName"":""Fallout 4"",
    ""Language"":""en"",
    ""GameGenres"":
    [
        { 
            ""GameId"": ""5055856406136"",
            ""Genre"":{
                ""GenreId"":""1"",
                ""GenreName"":""Actie""}
        },
        { 
            ""GameId"": ""5055856406136"",
            ""Genre"":{
                ""GenreId"":""2"",
                ""GenreName"":""Avontuur""}
        },
        { 
            ""GameId"": ""5055856406136"",
            ""Genre"":{
                ""GenreId"":""5"",
                ""GenreName"":""Open wereld""}
        },
        { 
            ""GameId"": ""5055856406136"",
            ""Genre"":{
                ""GenreId"":""9"",
                ""GenreName"":""Role Playing Game""}
        },
        { 
            ""GameId"": ""5055856406136"",
            ""Genre"":{
                ""GenreId"":""10"",
                ""GenreName"":""Shooter""}
        }
    ],
    ""PlatformGames"":
    [
        {
            ""GameId"":""5055856406136"",
            ""Platform"":{
                ""PlatformId"":""1"",
                ""PlatformName"":""PC""},                            
            ""Price"":""114.4""
        },  
        {
            ""GameId"":""5055856406136"",
            ""Platform"":{
                ""PlatformId"":""2"",
                ""PlatformName"":""Playstation 4""},                            
            ""Price"":""264.99""
        },
        {
            ""GameId"":""5055856406136"",
            ""Platform"":{
                ""PlatformId"":""3"",
                ""PlatformName"":""Xbox One""},                            
            ""Price"":""114.99""
        }     
    ]
}
]
}";

有人知道我做错了什么吗?

GamerContext

using Gamer.DomainClasses.Models;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

    namespace Gamer.DataLayer
    {
        public class GamerContext : DbContext
        {
            public GamerContext() : base("Gamer")
            { }
            public DbSet<Game> Games { get; set; }
            public DbSet<Genre> Genres { get; set; }
            public DbSet<PlatformGames> PlatformGames { get; set; }
            public DbSet<Platform> Platforms { get; set; }
            public DbSet<GameGenres> GameGenres { get; set; }
    
        }
    }

您的 JSON 可能有一些与您的 class 不同的属性(不同的名称、类型等...)。

提示:如果您想调试 Seed,您需要通过代码启动调试器:

protected override void Seed(dbEmployeePortal context)
{
    try
    {
        if(!Debugger.IsAttached)
            Debugger.Launch()
    }
    catch(Exception e)
    { // breakpoint here. This breakpoint needs to be set on the new visual studio that will open for the debug session.

    }
}