Pulse7
8/16/2017 - 1:13 PM

Removing object in disconnected scenario

Removing object in disconnected scenario

Ninja ninja;
using(var context = new NinjaContext()){
  context.Database.Log = Console.WriteLine;
  ninja=context.Ninjas.FirstOrDefault();
}

//this code throws invalidoperation object was not found in the ObjectStateManager
using(var context = new NinjaContext()){
  context.Database.Log = Console.WriteLine;
  context.Ninjas.Remove(ninja); // throw exception
  context.SaveChanges();
}

//this works
using(var context = new NinjaContext()){
  context.Database.Log = Console.WriteLine;
  context.Ninjas.Attach(ninja);
  context.Ninjas.Remove(ninja); 
  context.SaveChanges();
}