public void AddSingleUntrackedEntityToContextResultsinAddedState() { var ninja = new Ninja(); using (var context = new NinjaContextDefaultBehavior()) { context.Ninjas.Add(ninja); Assert.AreEqual(EntityState.Added, context.ChangeTracker.Entries().FirstOrDefault().State); } }
public void AddUntrackedGraphOfNewEntitiesResultsinAddedStateOnAll() { var ninja = new Ninja(); ninja.EquipmentOwned.Add(new NinjaEquipment()); using (var context = new NinjaContextDefaultBehavior()) { context.Ninjas.Add(ninja); var entries = context.ChangeTracker.Entries(); entries.ToList().ForEach(e => Debug.WriteLine($"{e.Entity.ToString()}:{e.State}")); CollectionAssert.AreEqual(new[] { EntityState.Added, EntityState.Added }, entries.Select(e => e.State).ToArray()); } }
public void EFDoesNotComprehendsMixedStatesWhenAddingUntrackedGraph() { var ninja = new Ninja(); ninja.Clan = new Clan { Id = 1 }; using (var context = new NinjaContextDefaultBehavior()) { context.Ninjas.Add(ninja); var entries = context.ChangeTracker.Entries(); entries.ToList().ForEach(e => Debug.WriteLine($"{e.Entity.ToString()}:{e.State}")); Assert.IsFalse(entries.Any(e => e.State != EntityState.Added)); } }