, Просто TestClass-> TestClassDTO будет делать. Это явное отображение Dictionary-> DIctionary, которое приводит к пустому DIctionary. AutoMapper неявно поддерживает закрытые родовые сопоставления типов. (Да, я знаю, что этот вопрос старше семи лет;))
вая это эти классы, как я могу сопоставить их словарь?
public class TestClass
{
public string Name { get; set; }
}
public class TestClassDto
{
public string Name { get; set; }
}
Mapper.CreateMap<TestClass, TestClassDto>();
Mapper.CreateMap<Dictionary<string, TestClass>,
Dictionary<string, TestClassDto>>();
var testDict = new Dictionary<string, TestClass>();
var testValue = new TestClass() {Name = "value1"};
testDict.Add("key1", testValue);
var mappedValue = Mapper.Map<TestClass, TestClassDto>(testValue);
var mappedDict = Mapper.Map<Dictionary<string, TestClass>,
Dictionary<string, TestClassDto>>(testDict);
Сопоставление одного из них, в данном случае mappedValue, работает нормально.
Отображение словаря из них заканчивается без записей в целевом объекте.
Что я делаю?