AutoMapper: передать параметр в целевой конструктор при использовании .ProjectTo - PullRequest
0 голосов
/ 24 декабря 2018

У моего целевого объекта есть один параметр-конструктор, который мне нужен, чтобы передать ему объект для внутреннего использования.Как я могу передать это в ProjectTo

-mapping

CreateMap<SomeEntity, SomeModel>();

-projecting

var param = new SomeContructorParam();
await context.SomeEntities                    
                .ProjectTo<SomeModel>() --  PASS PARAM here? how so
                .ToListAsync();

-dest объект

public class SomeModel
{
    private readonly SomeContructorParam ctorParam;
    public SomeModel(SomeContructorParam ctorParam)
    {
        this.ctorParam = ctorParam;
    }
    ...

}
public class SomeContructorParam
{
    ...
}

1 Ответ

0 голосов
/ 04 января 2019

Испытано и проверено.

Отображение:

SomeContructorParam emptyParm = null
CreateMap<SomeEntity, SomeModel>()
    .ConstructUsing(src => new SomeModel(emptyParm));

Проектирование

var param = new SomeContructorParam();
await context.SomeEntities                    
            .ProjectTo<SomeModel>(new { emptyParm = param })
            .ToListAsync();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...