AutoMapper не в тот тип мэппит - C#
Формулировка задачи:
Всем пример. Возникла проблема с Автомэпером, а точнее с мэпом наследуемого на базовый тип.
Почему в обоих случаях выводится тип B ?
Как сделать чтобы тип оказался А?
Кстати в обратную сторону все корректно работает.
class A{
public int x{get;set;}
}
class B : A{
}
public static void Main() {
Mapper.Initialize(cfg => cfg.CreateMissingTypeMaps = true);
var b = new B();
A a1 = Mapper.Map<A>(b);
A a2 = Mapper.Map<B, A>(b);
Console.WriteLine(typeof(a1));
Console.WriteLine(typeof(a2));
}Решение задачи: «AutoMapper не в тот тип мэппит»
textual
Листинг программы
namespace ConsoleApplication12
{
using System;
using AutoMapper;
internal class A
{
public int X { get; set; }
}
internal class B : A
{
}
internal class Program
{
private static void Main()
{
Mapper.Initialize(cfg => { cfg.CreateMap<B, A>(); });
var b = new B();
A a1 = Mapper.Map<A>(b);
A a2 = Mapper.Map<B, A>(b);
Console.WriteLine(a1.GetType());
Console.WriteLine(a2.GetType());
}
}
}