public void PersistManager_Delete_DependentEntity() { var uut = new PersistManager <BloggerContextPg>(); var ctx = new BloggerContextPg(); var blogs = ctx.Blogs.ToList(); var posts = ctx.Posts.ToList(); blogs.Count.Should().BeGreaterThan(0); posts.Count.Should().BeGreaterThan(0); var blogsToDelete = blogs.Select(b => new EntityAspect(b, EntityState.Deleted)).ToList(); var postsToDelete = posts.Select(p => new EntityAspect(p, EntityState.Deleted)).ToList(); var saveBundle0 = new ClientSaveBundle(); blogsToDelete.ForEach(b => saveBundle0.AddEntity(b)); postsToDelete.ForEach(p => saveBundle0.AddEntity(p)); var parsedSaveBundle = JObject.Parse(saveBundle0.ToJson()); var saveResultOfDelete = uut.SaveChanges(parsedSaveBundle.ToString()); var postDeleteBlogs = uut.Context.Blogs.ToList(); postDeleteBlogs.Count.Should().Be(0); saveResultOfDelete.DeletedKeys.Count.Should().Be(blogs.Count + posts.Count); }
public void OneTimeSetup() { /// make sure w have a fresh and empty DB . using (var setupCtx = new BloggerContextPg()) { setupCtx.Database.EnsureDeleted(); setupCtx.Database.EnsureCreated(); } UUT = new PersistManagerWithNoda(); }
public void GetEntityTypeSaveOrder_Test() { var ctx = BloggerContextPg.CreateWithNpgsql(); var saveOrder = DecideSaveOrder(ctx); saveOrder = DecideSaveOrder(ctx); saveOrder = DecideSaveOrder(ctx); saveOrder = DecideSaveOrder(ctx); saveOrder.ForEach(t => Console.WriteLine(t)); }