AutoMapper и разные объекты - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть список объектов, подобных следующему:

A: IBaseType
{
   string X
   DateTime Y
   int Z
}

и я хочу получить после сопоставления три разных объекта, которые создаются на основе их свойств.

Например:

Mapper.Map<IList<A>, IList<IBaseType>>(list); 

и в выходной набор попадают разные объекты

X: IBaseType
{
  string X;
}

Y: IBaseType
{
   DateTime Y
}

и т. Д.

Или как-то так:

Mapper.CreateMap<Item, ItemModel>().FromMap(d=>d.Conditions, opt=>(there some like to IValueResovler );

1 Ответ

1 голос
/ 10 февраля 2011

Я думаю, что лучший способ - реализовать пользовательские функции отображения.

Примерно так:

public IBaseType Map(A item)
{
     if ( /*your condition*/ )
          return new X(){ X = item.X}

     else if ( /*your condition*/ )
          return new Y(){ Y = item.X}
}

и используйте этот метод

List<IBaseType> result = new List<IBaseType>() ;
list.Foreach(x => result.Add(Map(x)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...