当前位置: 首页>>代码示例>>C#>>正文


C# MemberMapper.CreateAndFinalizeMap方法代码示例

本文整理汇总了C#中MemberMapper.CreateAndFinalizeMap方法的典型用法代码示例。如果您正苦于以下问题:C# MemberMapper.CreateAndFinalizeMap方法的具体用法?C# MemberMapper.CreateAndFinalizeMap怎么用?C# MemberMapper.CreateAndFinalizeMap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MemberMapper的用法示例。


在下文中一共展示了MemberMapper.CreateAndFinalizeMap方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Benchmark

        public static void Benchmark()
        {
            var mapper = new MemberMapper();

              var map = mapper.CreateAndFinalizeMap<Customer, CustomerDto>(customMapping: src => new
              {
            FullName = src.FirstName + " " + src.LastName,
            OrderCount = src.Orders.Count,
            OrderAmount = src.Orders.Sum(o => o.Amount)
              });

              var mappingFunc = map.MappingFunction;

              var customer = new Customer
              {
            CustomerID = 1,
            FirstName = "John",
            LastName = "Doe",
            Orders = new List<Order>
            {
              new Order
              {
            Amount = 100m
              },
              new Order
              {
            Amount = 15m
              },
              new Order
              {
            Amount = 150m
              }
            }
              };

              var sw = Stopwatch.StartNew();

              for (var i = 0; i < 1000000; i++)
              {
            Dto = new CustomerDto();

            Dto.FirstName = customer.FirstName;
            Dto.LastName = customer.LastName;
            Dto.FullName = customer.FirstName + " " + customer.LastName;
            Dto.OrderCount = customer.Orders.Count;
            Dto.OrderAmount = customer.Orders.Sum(o => o.Amount);
              }

              sw.Stop();

              Console.WriteLine("Manual: " + sw.Elapsed);

              sw.Restart();

              for (var i = 0; i < 1000000; i++)
              {
            Dto = mapper.Map<Customer, CustomerDto>(customer);
              }

              sw.Stop();

              Console.WriteLine("ThisMember slow: " + sw.Elapsed);

              sw.Restart();

              for (var i = 0; i < 1000000; i++)
              {
            Dto = mappingFunc(customer, new CustomerDto());
              }

              sw.Stop();

              Console.WriteLine("ThisMember fast: " + sw.Elapsed);
        }
开发者ID:JulianR,项目名称:MemberMapper,代码行数:74,代码来源:Comparisons.cs


注:本文中的MemberMapper.CreateAndFinalizeMap方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。