public void IgnoreMember() { var config = new MapperConfiguration(cfg => { cfg.CreateMapping <ParentEntity, ParentEntityDto>(mapping => mapping .IgnoreMember(d => d.Ignored) .IgnoreMember(d => d.NestedEntity) ); }); var mapper = config.CreateMapper(); var parentMapping = mapper.GetMapping <ParentEntity, ParentEntityDto>(); using (var context = new DatabaseContext(DatabaseHelper.Options)) { var parentDtos = context.ParentEntities.Select(parentMapping).ToList(); Assert.AreEqual(1, parentDtos.Count); var result = parentDtos.FirstOrDefault(); var expected = new ParentEntityDto { Id = 1, Name = "Entity", DtoProperty = 0, Ignored = null, Parameterized = 0, NestedEntity = null }; Assert.AreEqual(true, expected.Equals(result)); } }
public void JoinResultMapping() { var config = new MapperConfiguration(cfg => { cfg.CreateMapping <ParentEntity, ParentEntityDto>(); }); var mapper = config.CreateMapper(); var parentMapping = mapper.GetMapping <ParentEntity, ParentEntityDto>(); using (var context = new DatabaseContext(DatabaseHelper.Options)) { var parentDtos = context.ParentEntities .Join(context.NestedEntities, d => d.NestedEntityId, s => s.Id, (d, s) => new ParentEntity { Id = d.Id, Name = d.Name, EntityProperty = d.EntityProperty, Ignored = d.Ignored, NestedEntity = s }) .Select(parentMapping).ToList(); Assert.AreEqual(1, parentDtos.Count); var result = parentDtos.FirstOrDefault(); var expected = new ParentEntityDto { Id = 1, Name = "Entity", DtoProperty = 0, Ignored = "Ignore this property!", Parameterized = 0, NestedEntity = new NestedEntityDto { Id = 1, Name = "NestedEntity", NestedNestedEntity = new NestedNestedEntityDto { Id = 1, Name = "NestedNestedEntity" } } }; Assert.AreEqual(true, expected.Equals(result)); } }
public void UseQueryMutator() { var config = new MapperConfiguration(cfg => { cfg.CreateMapping <ParentEntity, ParentEntityDto>(); }); var serviceProvider = new ServiceCollection() .UseQueryMutator(config, true) .BuildServiceProvider(); var mapper = serviceProvider.GetService <IMapper>(); Assert.IsNotNull(mapper); var parentMapping = serviceProvider.GetService <IMapping <ParentEntity, ParentEntityDto> >(); Assert.IsNotNull(parentMapping); using (var context = new DatabaseContext(DatabaseHelper.Options)) { var parentDtos = context.ParentEntities.Select(parentMapping).ToList(); Assert.AreEqual(1, parentDtos.Count); var result = parentDtos.FirstOrDefault(); var expected = new ParentEntityDto { Id = 1, Name = "Entity", DtoProperty = 0, Ignored = "Ignore this property!", Parameterized = 0, NestedEntity = new NestedEntityDto { Id = 1, Name = "NestedEntity", NestedNestedEntity = new NestedNestedEntityDto { Id = 1, Name = "NestedNestedEntity" } } }; Assert.AreEqual(true, expected.Equals(result)); } }
public void MappingWithParameter() { var config = new MapperConfiguration(cfg => { cfg.CreateMapping <ParentEntity, ParentEntityDto, int>(mapping => mapping .MapMemberWithParameter(d => d.Parameterized, p => dd => dd.Id * p) .IgnoreMember(d => d.Ignored) ); cfg.CreateMapping <ParentEntity, ParentEntityDto, ParentEntityParamaters>(mapping => mapping .MapMemberWithParameter(d => d.Parameterized, p => dd => dd.Id * p.IntProperty) .MapMemberWithParameter(d => d.Name, p => dd => dd.Name + p.StringProperty) ); }); var mapper = config.CreateMapper(); var parentMappingWithParameter = mapper.GetMapping <ParentEntity, ParentEntityDto, int>(); var parentMappingWithParameters = mapper.GetMapping <ParentEntity, ParentEntityDto, ParentEntityParamaters>(); using (var context = new DatabaseContext(DatabaseHelper.Options)) { var param = 5; var parentDtos = context.ParentEntities.Select(parentMappingWithParameter, param).ToList(); Assert.AreEqual(1, parentDtos.Count); var result = parentDtos.FirstOrDefault(); var expected = new ParentEntityDto { Id = 1, Name = "Entity", DtoProperty = 0, Ignored = null, Parameterized = 1 * param, NestedEntity = new NestedEntityDto { Id = 1, Name = "NestedEntity", NestedNestedEntity = new NestedNestedEntityDto { Id = 1, Name = "NestedNestedEntity" } } }; Assert.AreEqual(true, expected.Equals(result)); var @params = new ParentEntityParamaters { IntProperty = 10, StringProperty = "_suffix" }; parentDtos = context.ParentEntities.Select(parentMappingWithParameters, @params).ToList(); Assert.AreEqual(1, parentDtos.Count); result = parentDtos.FirstOrDefault(); expected = new ParentEntityDto { Id = 1, Name = "Entity" + @params.StringProperty, DtoProperty = 0, Ignored = "Ignore this property!", Parameterized = 1 * @params.IntProperty, NestedEntity = new NestedEntityDto { Id = 1, Name = "NestedEntity", NestedNestedEntity = new NestedNestedEntityDto { Id = 1, Name = "NestedNestedEntity" } } }; Assert.AreEqual(true, expected.Equals(result)); } }