deserialize json into object Failed in mvc "Requested value 'OneShot' was not found."

I have problem when i want to deserialize json into my object class, I think i don't do any mistakes in my code, i Have already tested everything but i got failed said ""Requested value 'OneShot' was not found.

Here is my code

   public class Enemy
{
    public Enemy()
    {
        RangesAttack = new List<double>();
    }
    public int Id { get; set; }
    public List<double> RangesAttack { get; set; }
    public string Name { get; set; }
    public double Hp { get; set; }
    public int HpShield { get; set; }
    public SupportType _SupportType { get; set; }
    public AttackType _AttackType { get; set; }
    public Division _Division { get; set; }
    public MovemenType _MovementType { get; set; }
    public object Extendable { get; set; }
    public object Spawned { get; set; }
    public double? Speed { get; set; }
    public double? Damage { get; set; }
    public double? RateAttack { get; set; }
    public int? Resource { get; set; }
    public double? BonusProbability { get; set; }
}

public class RootObject
{
    public List<Enemy> Enemies { get; set; }
}

and here is my service to deserialize json

  public class EnemyService
{
    #region ReadFile

    public static void Migrate()
    {
        EnemyRepository er = new EnemyRepository();

        if(er.ZombieModels.Count() > 0) {
            return;
        }
        string json = GetMigrateFile("Enemy.json");

        var models = JsonConvert.DeserializeObject<RootObject>(json);

        using(TransactionScope ts = new TransactionScope()) {
            foreach(var model in models.Enemies) {
                er.Entry(model).State = System.Data.Entity.EntityState.Added;
                er.SaveChanges();
            }
            ts.Complete();
        }

    }
    public static string GetMigrateFile(string fileName)
    {
        string file = String.Format("assets/etc/{0}",fileName);
        return ReadFileFromServer(file);
    }
    public static string ReadFileFromServer(string realPath)
    {
        try {
            string fullPath = GetFullPathFromRelative(realPath);

            using(StreamReader sr =  new StreamReader(fullPath)) {
                string line = sr.ReadToEnd();
                return line;
            }
        }
        catch(Exception e) {
            return e.Message;
        }
    }
    public static string GetFullPathFromRelative(string relativePath)
    {
        return GetServerPath() + relativePath;
    }
    public static string GetServerPath()
    {
        return System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath;
    }
}
#endregion

}.

and below is i call Migrate method on my controller

enter code here  public class EnemiesController : Controller
{
    private EnemyService enemyServices;

    public EnemiesController()
    {
        enemyServices = new EnemyService();
    }
    public ActionResult Index()
    {
        EnemyService.Migrate(); //Here is wheew Icall migrate method

        return View();
    }

}

and here is the error said enter image description here

What is the problem, I never face the problem before, I hope you can solve my issue, Thanks