[Fact] // Issue #1207 public void Can_add_identifying_dependents_and_principal_with_reverse_post_nav_fixup_with_key_generation() { using (var context = new EarlyLearningCenter()) { var product1 = new Product(); var details1 = new ProductDetails(); var tag1 = new ProductDetailsTag(); var tagDetails1 = new ProductDetailsTagDetails(); var product2 = new Product(); var details2 = new ProductDetails(); var tag2 = new ProductDetailsTag(); var tagDetails2 = new ProductDetailsTagDetails(); context.Add(product1); context.Add(tagDetails2); context.Add(details1); context.Add(tag2); context.Add(details2); context.Add(tag1); context.Add(tagDetails1); context.Add(product2); tagDetails1.Tag = tag1; tag1.Details = details1; details1.Product = product1; tagDetails2.Tag = tag2; tag2.Details = details2; details2.Product = product2; context.ChangeTracker.DetectChanges(); AssertProductAndDetailsFixedUp(context, product1.Details.Tag.TagDetails, product2.Details.Tag.TagDetails); } }
public void Can_attach_child_with_one_to_one_parents() { using (var context = new EarlyLearningCenter()) { var tag = new ProductDetailsTag { Id = 1, Details = new ProductDetails { Id = 1, Product = new Product { Id = 1 } } }; context.ChangeTracker.TrackGraph(tag, e => e.State = EntityState.Unchanged); Assert.Equal(3, context.ChangeTracker.Entries().Count()); Assert.Equal(EntityState.Unchanged, context.Entry(tag).State); Assert.Equal(EntityState.Unchanged, context.Entry(tag.Details).State); Assert.Equal(EntityState.Unchanged, context.Entry(tag.Details.Product).State); Assert.Same(tag, tag.Details.Tag); Assert.Same(tag.Details, tag.Details.Product.Details); } }
[Fact] // Issue #1207 public void Can_add_identifying_dependents_and_principal_with_reverse_post_nav_fixup_with_key_generation() { using (var context = new EarlyLearningCenter()) { var product1 = new Product(); var details1 = new ProductDetails(); var tag1 = new ProductDetailsTag(); var tagDetails1 = new ProductDetailsTagDetails(); var product2 = new Product(); var details2 = new ProductDetails(); var tag2 = new ProductDetailsTag(); var tagDetails2 = new ProductDetailsTagDetails(); context.Add(product1); context.Add(tagDetails2); context.Add(details1); context.Add(tag2); context.Add(details2); context.Add(tag1); context.Add(tagDetails1); context.Add(product2); tagDetails1.Tag = tag1; tag1.Details = details1; details1.Product = product1; tagDetails2.Tag = tag2; tag2.Details = details2; details2.Product = product2; context.ChangeTracker.DetectChanges(); AssertProductAndDetailsFixedUp(context, product1.Details.Tag.TagDetails, product2.Details.Tag.TagDetails); } }
public void Can_attach_child_with_one_to_one_parents() { using (var context = new EarlyLearningCenter()) { var tag = new ProductDetailsTag { Id = 1, Details = new ProductDetails { Id = 1, Product = new Product { Id = 1 } } }; context.ChangeTracker.TrackGraph(tag, e => e.State = EntityState.Unchanged); Assert.Equal(3, context.ChangeTracker.Entries().Count()); Assert.Equal(EntityState.Unchanged, context.Entry(tag).State); Assert.Equal(EntityState.Unchanged, context.Entry(tag.Details).State); Assert.Equal(EntityState.Unchanged, context.Entry(tag.Details.Product).State); Assert.Same(tag, tag.Details.Tag); Assert.Same(tag.Details, tag.Details.Product.Details); } }