C# 如何使用复杂类型的ctor参数映射到目标?

C# 如何使用复杂类型的ctor参数映射到目标?,c#,automapper,C#,Automapper,项目(目标)既有带参数的公共ctor,也有受保护的无参数ctor public Project(String name, User initiator) { this.Name = name; this.Initiator = initiator; this.InitializedOn = DateTime.Now; } // meant only to support some EF-related operations protected Project() {}

项目
(目标)既有带参数的公共ctor,也有受保护的无参数ctor

public Project(String name, User initiator) {
    this.Name = name;
    this.Initiator = initiator;
    this.InitializedOn = DateTime.Now;
}

// meant only to support some EF-related operations
protected Project() {}
地图:

Mapper.CreateMap<CreateProjectModel, Project>().ForMember(
    dest => dest.Name,
    opt => opt.MapFrom(src => src.ProjectName)
);

是否可以使用
newproject(Project.ProjectName,user)
初始化,并使用
Automapper
映射其余的源属性?

由于另一个构造函数基于多个源类型,您可能必须显式调用它并通过Automapper映射其余的属性:

CreateProjectModel project = ...

var model = new Project(project.ProjectName, user);
Mapper.Map(project, model);

看这个:@Fung我已经看过这条线了。这与我的要求不同。
ConstructUsing(i=>
的参数
i
不包含项目模型的属性。源和目标是不同类型的。这就是我要找的!
CreateProjectModel project = ...

var model = new Project(project.ProjectName, user);
Mapper.Map(project, model);