📜  第一个或默认 c# automapper - C# (1)

📅  最后修改于: 2023-12-03 15:27:24.800000             🧑  作者: Mango

第一个或默认 C# AutoMapper

简介

Automapper 是一个 C# 映射库,允许您轻松映射对象之间的属性,减少手动编写重复的映射代码。

它可以用于简化数据访问层,将数据库对象映射到业务对象,或者将一个类的属性映射到另一个类的属性,支持快速、可靠的映射对象属性。

此处介绍的是第一个或默认的 C# AutoMapper 使用。

安装

在 Visual Studio 中,可以通过 NuGet 下载和安装 AutoMapper。

打开 “工具” -> “NuGet 包管理器”->“管理解决方案的 NuGet 包...”,在“浏览”栏中单击查找“AutoMapper”,在“已安装”中安装所需版本。或者使用以下命令进行安装:

Install-Package AutoMapper
使用

AutoMapper 需要创建一个映射配置,映射配置定义源对象和目标对象之间的属性映射。

创建映射配置
using AutoMapper;

public class UserProfile : Profile
{
    public UserProfile()
    {
        CreateMap<User, UserDto>();
    }
}

在此示例中,我们将 User 映射到 UserDto。CreateMap 方法接受源类型和目标类型。一旦创建了映射配置,我们就可以将实例映射到目标类型。

映射对象
var config = new MapperConfiguration(cfg =>
{
    cfg.AddProfile<UserProfile>();
});

var mapper = config.CreateMapper();

var user = new User { FirstName = "John", LastName = "Doe" };

var userDto = mapper.Map<UserDto>(user);

我们首先创建一个 MapperConfiguration 对象,它使用我们之前创建的 UserProfile。我们通过 CreateMapper 方法创建一个 IMapper 对象。我们可以使用 Map 方法将实例映射到目标类型。

完整的使用示例代码如下:

using AutoMapper;
using System;

namespace AutoMapperDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile<UserProfile>();
            });

            var mapper = config.CreateMapper();

            var user = new User { FirstName = "John", LastName = "Doe" };

            var userDto = mapper.Map<UserDto>(user);

            Console.WriteLine($"First Name: {userDto.FirstName}, Last Name: {userDto.LastName}");
            // Output: First Name: John, Last Name: Doe
        }
    }

    public class User
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }

    public class UserDto
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }

    public class UserProfile : Profile
    {
        public UserProfile()
        {
            CreateMap<User, UserDto>();
        }
    }
}
维护

Automapper 的最新版本可以在其官方仓库找到:

https://github.com/AutoMapper/AutoMapper

总结

在本教程中,我们介绍了第一个或默认的 C# AutoMapper,安装步骤、创建映射配置、映射对象,覆盖了最基本的应用方法。使用 AutoMapper 可以大大简化您的代码,减少代码重复,提高代码重用性。