Несколько соображений, когда вы используете внутренний картограф (например, context.Mapper
)
Во-первых, старайтесь не использовать context.Mapper.Map<TDestination>(...)
, используйте context.Mapper.Map<TSource, TDestination>(...)
вместо этого, он ведет себя намного лучше.
* 1007Во-вторых, использование контекста во внутренних преобразователях нарушит инкапсуляцию. Если вам нужно установить значения во внутренних объектах, рассмотрите эти два решения:
Если вы хотите установить значения после внутренней карты
context.Mapper.Map<Source, Dest> (source, opts => opts.AfterMap((s, d) =>
d.Something = source.Something))
В случае, если вы хотите установитьзначения перед внутренней картой
context.Mapper.Map<Source, Dest> (source, new Dest()
{
Something = source.Something
})