AutoMapper.Mapper 不包含 CreateMap 的定义

作者:编程家 分类: 编程代码 时间:2025-08-31

使用AutoMapper.Mapper进行对象映射是在.NET开发中常用的技术之一。AutoMapper.Mapper是一个强大且灵活的库,它可以帮助我们简化对象之间的转换过程,提高开发效率。在本文中,我们将通过几个例子来介绍AutoMapper.Mapper的基本用法。

案例代码一:简单对象映射

首先,我们需要在项目中安装AutoMapper.Mapper的NuGet包。安装完成后,我们可以使用CreateMap方法来定义对象之间的映射关系。下面是一个简单的示例:

csharp

using AutoMapper;

// 定义源对象

public class SourceObject

{

public string Name { get; set; }

public int Age { get; set; }

}

// 定义目标对象

public class DestinationObject

{

public string Name { get; set; }

public int Age { get; set; }

}

// 创建映射关系

Mapper.CreateMap();

// 使用映射关系进行对象转换

SourceObject source = new SourceObject { Name = "John", Age = 25 };

DestinationObject destination = Mapper.Map(source);

// 输出转换结果

Console.WriteLine(destination.Name); // 输出:John

Console.WriteLine(destination.Age); // 输出:25

在上面的示例中,我们首先定义了源对象(SourceObject)和目标对象(DestinationObject)。然后使用Mapper.CreateMap方法创建了源对象到目标对象的映射关系。最后,我们使用Mapper.Map方法将源对象转换为目标对象,并输出了转换结果。

案例代码二:自定义映射规则

除了简单的对象映射,AutoMapper.Mapper还支持自定义映射规则。例如,我们可以通过ForMember方法来指定特定属性之间的映射关系。下面是一个示例:

csharp

using AutoMapper;

public class SourceObject

{

public string FirstName { get; set; }

public string LastName { get; set; }

}

public class DestinationObject

{

public string FullName { get; set; }

}

Mapper.CreateMap()

.ForMember(dest => dest.FullName, opt => opt.MapFrom(src => src.FirstName + " " + src.LastName));

SourceObject source = new SourceObject { FirstName = "John", LastName = "Doe" };

DestinationObject destination = Mapper.Map(source);

Console.WriteLine(destination.FullName); // 输出:John Doe

在上面的示例中,我们定义了源对象(SourceObject)和目标对象(DestinationObject)。然后使用Mapper.CreateMap方法创建了源对象到目标对象的映射关系,并通过ForMember方法指定了FullName属性的映射规则。在映射规则中,我们将FirstName和LastName属性的值拼接赋给FullName属性。最后,我们使用Mapper.Map方法将源对象转换为目标对象,并输出了转换结果。

案例代码三:集合对象映射

除了单个对象的映射,AutoMapper.Mapper还支持集合对象的映射。下面是一个示例:

csharp

using AutoMapper;

public class SourceObject

{

public string Name { get; set; }

public int Age { get; set; }

}

public class DestinationObject

{

public string Name { get; set; }

public int Age { get; set; }

}

Mapper.CreateMap();

List sourceList = new List

{

new SourceObject { Name = "John", Age = 25 },

new SourceObject { Name = "Jane", Age = 30 }

};

List destinationList = Mapper.Map, List>(sourceList);

foreach (var item in destinationList)

{

Console.WriteLine(item.Name); // 输出:John, Jane

Console.WriteLine(item.Age); // 输出:25, 30

}

在上面的示例中,我们定义了源对象(SourceObject)和目标对象(DestinationObject),并创建了源对象到目标对象的映射关系。然后,我们创建了一个包含多个源对象的集合(sourceList)。最后,使用Mapper.Map方法将源对象集合(sourceList)转换为目标对象集合(destinationList),并输出了转换结果。

本文介绍了AutoMapper.Mapper的基本用法,并通过几个示例演示了对象映射的过程。通过使用AutoMapper.Mapper,我们可以简化对象之间的转换过程,提高开发效率。无论是简单对象映射、自定义映射规则,还是集合对象映射,AutoMapper.Mapper都提供了灵活的功能来满足我们的需求。希望本文能对大家在.NET开发中使用AutoMapper.Mapper有所帮助。