public void MappingTest() { var emStrategy = new EntityModelMappingStrategy(); var cogmStrategy = new ChildOfGuidMappingStrategy(); var pogmStrategy = new ParentOfGuidMappingStrategy(); Action <ModelBuilder> mappingAction = modelBuild => { emStrategy.Mapping(modelBuild, typeof(OneOfInt32EntityModel)); cogmStrategy.Mapping(modelBuild, typeof(OneOfInt32EntityModel)); pogmStrategy.Mapping(modelBuild, typeof(ManyOfInt32EntityModel)); }; using (var context = new DbContextByMappingStrategy(mappingAction)) { var oneEntityModel = new OneOfInt32EntityModel { CountOfChild = 10, Children = new List <ManyOfInt32EntityModel>(10) }; for (int i = 0; i < 10; i++) { oneEntityModel.Children.Add(new ManyOfInt32EntityModel { Parent = oneEntityModel }); } context.Add(oneEntityModel); Assert.Equal(11, context.SaveChanges()); } using (var context = new DbContextByMappingStrategy(mappingAction)) { var data = context.Set <OneOfInt32EntityModel>() .Include(one => one.Children) .SingleOrDefault(); Assert.NotNull(data); Assert.NotEqual(0, data.Id); Assert.Equal(10, data.CountOfChild); Assert.NotNull(data.Children); Assert.Equal(10, data.Children.Count); Assert.All(data.Children.AsEnumerable(), child => { Assert.NotEqual(0, child.Id); Assert.Equal(data.Id, child.ParentId); Assert.NotNull(child.Parent); Assert.Equal(child.ParentId, child.Parent.Id); }); } }
public void MappingTest() { var emStrategy = new EntityModelMappingStrategy(); var nmStrategy = new NoteMappingStrategy(); Action <ModelBuilder> action = builder => { emStrategy.Mapping(builder, typeof(NoteOfEntityModel)); nmStrategy.Mapping(builder, typeof(NoteOfEntityModel)); }; using (var context = new DbContextByMappingStrategy(action)) { for (int i = 0; i < 10; i++) { context.Add(new NoteOfEntityModel { Note = $"Note_{i}", SecondNote = $"SecondNote_{i}", ThirdNote = $"ThirdNote_{i}" }); } context.SaveChanges(); } using (var context = new DbContextByMappingStrategy(action)) { var datas = context.Notes.ToList(); Assert.NotNull(datas); Assert.Equal(10, datas.Count); for (int i = 0; i < 10; i++) { Assert.NotEqual(Guid.Empty, datas[i].Id); Assert.Equal($"Note_{i}", datas[i].Note); Assert.Equal($"SecondNote_{i}", datas[i].SecondNote); Assert.Equal($"ThirdNote_{i}", datas[i].ThirdNote); } } }
public void MappingTest() { var strategy = new EntityModelMappingStrategy(); using (var context = new DbContextByMappingStrategy(builder => strategy.Mapping(builder, typeof(EntityModel.EntityModel)))) { for (int i = 0; i < 10; i++) { context.Add(new EntityModel.EntityModel()); } context.SaveChanges(); } using (var context = new DbContextByMappingStrategy(builder => strategy.Mapping(builder, typeof(EntityModel.EntityModel)))) { var datas = context.Set <EntityModel.EntityModel>().ToList(); Assert.NotNull(datas); Assert.Equal(10, datas.Count); Assert.All(datas, data => Assert.NotEqual(Guid.Empty, data.Id)); } }