public void Issue194Repro() { using (var context = GetContext()) { var parent = new ParentEntity(); parent.Id = "parent"; var child = context.ChildEntities.Create(); child.Code = "child"; child.Description = "Some description"; child.Parent = parent; context.ChildEntities.Add(child); context.SaveChanges(); } using (var context = GetContext()) { var parent = context.ParentEntities.First(); var modifiedChild = new ChildEntity { Parent = parent, Code = "child", Description = "A new description for the existing child" }; var existingChild = context.ChildEntities.First(); context.DeleteObject(existingChild); context.ChildEntities.Add(modifiedChild); context.SaveChanges(); } }
public static ChildEntity SaveForTest(this ChildEntity entity, CoreEntity parent = null, string name = null, int?integer = null, decimal?deci = null) { var created = entity.GenerateForTest(); return(SaveEntity <ChildEntity, int>(created)); }
public void deleteCascadeParentEntity() { using (UnitOfWork worker = new UnitOfWork(new SqliteTestDbContext())) { ChildEntity newChild = new ChildEntity(); var createDateChild = new DateTime(2022, 4, 8, 4, 35, 11); newChild.createdDate = createDateChild; newChild.name = "NewChild"; newChild.sequenceNo = 32; ParentEntity newParent = new ParentEntity(); var createDateParent = new DateTime(2020, 1, 10, 11, 25, 20); newParent.createdDate = createDateParent; newParent.name = "NewParent"; newParent.sequenceNo = 32; newParent.ChildEntity.Add(newChild); worker.ParentEntityRepository.Add(newParent); var newParentDb = worker.ParentEntityRepository.GetAll().ToList(); worker.ParentEntityRepository.Remove(newParentDb.FirstOrDefault()); newParentDb = worker.ParentEntityRepository.GetAll().ToList(); Assert.AreEqual(0, newParentDb.Count); var newChildDb = worker.ChildEntityRepository.GetAll().ToList(); Assert.AreEqual(0, newChildDb.Count); var newSubClassDb = worker.SubClassEntityRepository.GetAll().ToList(); Assert.AreEqual(0, newSubClassDb.Count); } }
public void DeleteParentButNotChild() { CollectionListeners listeners = new CollectionListeners(Sfi); IParentWithCollection parent = CreateParentWithOneChild("parent", "child"); ChildEntity child = (ChildEntity)GetFirstChild(parent.Children); listeners.Clear(); ISession s = OpenSession(); ITransaction tx = s.BeginTransaction(); parent = (IParentWithCollection)s.Get(parent.GetType(), parent.Id); child = (ChildEntity)s.Get(child.GetType(), child.Id); parent.RemoveChild(child); s.Delete(parent); tx.Commit(); s.Close(); int index = 0; CheckResult(listeners, listeners.InitializeCollection, parent, index++); if (child is ChildWithBidirectionalManyToMany) { CheckResult(listeners, listeners.InitializeCollection, (ChildWithBidirectionalManyToMany)child, index++); } CheckResult(listeners, listeners.PreCollectionRemove, parent, index++); CheckResult(listeners, listeners.PostCollectionRemove, parent, index++); if (child is ChildWithBidirectionalManyToMany) { CheckResult(listeners, listeners.PreCollectionUpdate, (ChildWithBidirectionalManyToMany)child, index++); CheckResult(listeners, listeners.PostCollectionUpdate, (ChildWithBidirectionalManyToMany)child, index++); } CheckNumberOfResults(listeners, index); }
public static List <ParentEntity> GetGeneratedParents() { var Random = new Random(); var values = new List <ParentEntity>(); for (int i = 0; i < stringValues.Count - 1; i++) { var entity = new ParentEntity() { Id = i, Header = stringValues[Random.Next(stringValues.Count - 1)], }; for (int j = 0; j < Random.Next(10); j++) { var child = new ChildEntity() { Id = j, Name = stringValues[Random.Next(stringValues.Count - 1)], Score = Random.Next(10000) / 5, IsImp = Random.Next(2) > 1 }; entity.ChildEntity.Add(child); } entity.Score = entity.ChildEntity.Sum(c => c.Score); values.Add(entity); } return(values); }
public ParentEntity Update(int id, string columnA, string columnB) { ParentEntity _entity = null; using (var context = CreateContext()) { bool isNew = false; _entity = context.ParentEntity .Include("ChildEntity") .SingleOrDefault(e => e.parent_id == id); ChildEntity entityChild = ParentEntity.ChildEntity.SingleOrDefault(); if (entityChild == null) { entityChild = new ChildEntity(); isNew = true; } entityChild.ColumnA = columnA; entityChild.ColumnB = columnB; if (isNew) { ParentEntity.ChildEntity.Add(entityChild); } context.SaveChanges(); } return(_entity); }
public async Task Connection_parent_child() { var query = @" { parentEntitiesConnection(first:2, after: '0') { totalCount edges { cursor node { property children { property } } } items { property children { property } } } } "; var entity1 = new ParentEntity { Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2" }; var entity3 = new ChildEntity { Property = "Value3" }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5" }; entity4.Children.Add(entity5); using (var database = await sqlInstance.Build()) { var result = await RunQuery(database, query, null, null, entity1, entity2, entity3, entity4, entity5); ObjectApprover.Verify(result); } }
public async Task Query_Cyclic() { var query = @" { childEntities (orderBy: {path: ""property""}) { property parent { property children { property parent { property } } } } }"; var entity1 = new ParentEntity { Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); await using var database = await sqlInstance.Build(); var result = await RunQuery(database, query, null, null, false, entity1, entity2, entity3, entity4, entity5); await Verifier.Verify(result); }
public void VerifyPolymorphicQueryGeneric() { var childVersion1 = new ChildEntity { Id = id1, Data = "x", Number = 1 }; AuditReader().CreateQuery().ForEntitiesAtRevision <ChildEntity>(1).Single().Should().Be(childVersion1); AuditReader().CreateQuery().ForEntitiesAtRevision <ParentEntity>(1).Single().Should().Be(childVersion1); }
public void VerifyPolymorphicQuery() { var childVersion1 = new ChildEntity { Id = id1, Data = "x", Number = null }; Assert.AreEqual(childVersion1, AuditReader().CreateQuery().ForEntitiesAtRevision(typeof(ChildEntity), 1).GetSingleResult()); Assert.AreEqual(childVersion1, AuditReader().CreateQuery().ForEntitiesAtRevision(typeof(ParentEntity), 1).GetSingleResult()); }
public ChildModel(ParentModel parent) { _entity = new ChildEntity { Id = Guid.NewGuid() }; if (parent != null) { _entity.ParentId = parent.Id; } }
private static ChildEntity AddChildData(ApiContext context, string name) { var data = new ChildEntity { Name = name }; context.Set <ChildEntity>().Add(data); return(data); }
public async Task SingleParent_Child_WithFragment() { var query = @" { parentEntity(id: ""00000000-0000-0000-0000-000000000001"") { ...parentEntityFields } } fragment parentEntityFields on ParentGraph { property children(orderBy: {path: ""property""}) { ...childEntityFields } } fragment childEntityFields on ChildGraph { property }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); await using var database = await sqlInstance.Build(); var result = await RunQuery(database, query, null, null, entity1, entity2, entity3, entity4, entity5); await Verifier.Verify(result); }
public static RootEntity TestData() { var child1 = new ChildEntity("CHILD_1"); var child2 = new ChildEntity("CHILD_2"); var other = new OtherEntity("OTHER", new List <ChildEntity> { child1, child2 }); return(new RootEntity("NAME_1", other)); }
public void VerifyHistoryOfChild() { var ver1 = new ChildEntity { Id = id1, Data = "x", Number = 1 }; var ver2 = new ChildEntity { Id = id1, Data = "y", Number = 2 }; Assert.AreEqual(ver1, AuditReader().Find <ChildEntity>(id1, 1)); Assert.AreEqual(ver2, AuditReader().Find <ChildEntity>(id1, 2)); }
public static ChildEntity GenerateForTest(this ChildEntity entity, CoreEntity parent = null, string name = null, int?integer = null, decimal?deci = null) { RandomizeTestBase <ChildEntity, int>(entity); if (entity.CoreEntity == null) { entity.CoreEntity = new CoreEntity().SaveForTest(); } return(entity); }
public async Task Parent_child() { var queryString = @" { parentEntities { property children { property } } }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ChildEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000003"), Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000004"), Property = "Value4" }; var entity5 = new ChildEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000005"), Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); var result = await RunQuery(queryString, null, entity1, entity2, entity3, entity4, entity5); ObjectApprover.VerifyWithJson(result); }
public void Entity_Delete_StateShould() { // Arrange var entity = new ChildEntity(); Assert.Equal(State.Unchanged, entity.State); // Act entity.Delete(); // Assert Assert.Equal(State.Deleted, entity.State); }
public async Task Child_parent() { var query = @" { childEntities { property parent { property } } }"; var entity1 = new ParentEntity { Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); using (var database = await sqlInstance.Build()) { var result = await RunQuery(database, query, null, null, entity1, entity2, entity3, entity4, entity5); ObjectApprover.Verify(result); } }
public async Task SingleParent_Child() { var query = @" { parentEntity(id: ""00000000-0000-0000-0000-000000000001"") { property children { property } } }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); using (var database = await sqlInstance.Build()) { var result = await RunQuery(database, query, null, null, entity1, entity2, entity3, entity4, entity5); ObjectApprover.Verify(result); } }
public async Task SingleParent_Child_mutation() { var query = @" mutation { parentEntityMutation(id: ""00000000-0000-0000-0000-000000000001"") { property children(orderBy: {path: ""property""}) { property } } }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); await using var database = await sqlInstance.Build(); var result = await RunQuery(database, query, null, null, entity1, entity2, entity3, entity4, entity5); await Verifier.Verify(result); }
public async Task Parent_child() { var query = @" { parentEntities { property children { property } } }"; var entity1 = new ParentEntity { Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); await using var database = await sqlInstance.Build(); var result = await RunQuery(database, query, null, null, entity1, entity2, entity3, entity4, entity5); await Verify(result); }
public void Entity_UpdateProperty_StateShould() { // Arrange var entity = new ChildEntity(); Assert.Equal(State.Unchanged, entity.State); Assert.Equal(default(int), entity.SimpleField); // Act entity.SetSimpleField(1); // Assert Assert.Equal(1, entity.SimpleField); Assert.Equal(State.Modified, entity.State); }
public void Entity_UpdateCollection_StateShould() { // Arrange var entity = new ChildEntity(); Assert.Empty(entity.FieldCollection); Assert.Equal(State.Unchanged, entity.State); // Act entity.FieldCollection.Add(10); // Assert Assert.Single(entity.FieldCollection); Assert.Equal(State.Modified, entity.State); }
public void Entity_Create_ThenUpdate_StateShould() { // Arrange var entity = new ChildEntity(); Assert.Equal(State.Unchanged, entity.State); // Act entity.Create(); Assert.Equal(State.Added, entity.State); entity.Id = 2; // Assert Assert.Equal(State.Added, entity.State); }
public async Task Parent_child() { var query = @" { parentEntities { property children { property } } }"; var entity1 = new ParentEntity { Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); var result = await RunQuery(query, null, true, null, entity1, entity2, entity3, entity4, entity5); ObjectApprover.VerifyWithJson(result); }
public void Init() { _childEntity = new ChildEntity { Id = 1, Name = "child1" }; _clientEntity = new ChildEntity { Id = 2, Name = "client1" }; _parentEntity = new ParentEntity { Id = 100 }; }
public async Task Child_parent_with_alias() { var query = @" { childEntities { parentAlias { property } } }"; var entity1 = new ParentEntity { Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); var result = await RunQuery(await sqlInstance.Build(), query, null, null, entity1, entity2, entity3, entity4, entity5); ObjectApprover.VerifyWithJson(result); }
public async Task SingleParent_Child() { var query = @" { parentEntity(id: ""00000000-0000-0000-0000-000000000001"") { property children(orderBy: {path: ""property""}) { property } } }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); await using var database = await sqlInstance.Build(); await RunQuery(database, query, null, null, false, new object[] { entity1, entity2, entity3, entity4, entity5 }); }
public async Task Child_parent() { var query = @" { childEntities (orderBy: {path: ""property""}) { property parent { property } } }"; var entity1 = new ParentEntity { Property = "Value1" }; var entity2 = new ChildEntity { Property = "Value2", Parent = entity1 }; var entity3 = new ChildEntity { Property = "Value3", Parent = entity1 }; entity1.Children.Add(entity2); entity1.Children.Add(entity3); var entity4 = new ParentEntity { Property = "Value4" }; var entity5 = new ChildEntity { Property = "Value5", Parent = entity4 }; entity4.Children.Add(entity5); await using var database = await sqlInstance.Build(); await RunQuery(database, query, null, null, false, new object[] { entity1, entity2, entity3, entity4, entity5 }); }