本文整理汇总了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);
}