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();
}