• AutoMapper,对象映射的简单使用


    using AutoMapper;
    using AutoMapper.Configuration;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace AutoMapperTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                //传统方法,手动写好对应的映射关系
                //Mapper.Initialize(p => p.CreateMap<Source, Destination>());
    
                //下面的写法就不用一一指定映射关系了
                Mapper.Initialize(new MapperConfigurationExpression
                {
                });
    
                Source src = new Source()
                {
                    SomeValue = 1,
                    AnotherValue = "xxx",
                    StringList = new List<string>() { "aa", "bb", "cc" },
                    IntList = new List<int>() { 2, 3, 4 },
                    StudentList = new List<Student>() { new Student() { Name = "jeff1", Age = 11 }, new Student() { Name = "jeff2", Age = 22 } }
                };
                Destination dest = Mapper.Map<Destination>(src);
    
                Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(dest));
                Console.ReadLine();
            }
        }
    
        public class Source
        {
            public int SomeValue { get; set; }
            public string AnotherValue { get; set; }
            public List<string> StringList { get; set; }
            public List<int> IntList { get; set; }
            public List<Student> StudentList { get; set; }
        }
    
        public class Destination
        {
            public int SomeValue { get; set; }
            public string AnotherValue { get; set; }
            public List<string> StringList { get; set; }
            public List<int> IntList { get; set; }
            public List<Student> StudentList { get; set; }
        }
    
        public class Student
        {
            public string Name { get; set; }
            public int Age { get; set; }
        }
    }
  • 相关阅读:
    使用truffle测试部署合约
    nodejs promise深度解析
    pthread线程特定数据
    基于信号量与互斥锁实现的生产者和消费者
    Linux coredump 的打开和关闭
    Linux 双网卡配置两个IP同时只有一个会通的原因
    进程间通信-共享内存
    进程间通信-消息队列
    TCP/IP SIGPIPE信号
    Select模式和超时
  • 原文地址:https://www.cnblogs.com/itjeff/p/10019748.html
Copyright © 2020-2023  润新知