C# 将DTO映射到域模型

C# 将DTO映射到域模型,c#,mapping,valueinjecter,C#,Mapping,Valueinjecter,我的DTO如下所示: class ProjectDTO{ string Title; string Data; } 然后域模型如下所示: class Project{ Content Content {set;get;} } class Content{ string Title string Data; } 我正在使用ValueInjector。我想将DTO映射到域模型 project.InjectFrom(pr

我的DTO如下所示:

 class ProjectDTO{

     string Title;
     string Data;

 }
然后域模型如下所示:

  class Project{
    Content Content {set;get;}

  }

  class Content{
     string Title
     string Data;

  }
我正在使用ValueInjector。我想将DTO映射到域模型

project.InjectFrom(projectDTO);
由于内部对象,无法正常工作


如何使用ValueInjector实现这一点?

查看文档,我认为您需要使用
FlatLoopValueInjection
类型

project.InjectFrom<FlatLoopValueInjection>(projectDTO);
编辑

还有
UnflatLoopValueInjection
类型,似乎可以满足您的需要

但是文档有点模糊。似乎您必须遵循某种命名约定,才能让它实际执行任何操作

class ProjectDTO
{
    string ContentTitle; // Project.Content.Title becomes ProjectDTO.ContentTitle
    string ContentData;  // Project.Content.Data becomes ProjectDTO.ContentData
}

project.InjectFrom(projectDTO);

是的,第二个在
project.Content=new Content()之后有效。
@DarthVader我根据新发现添加了更多信息。
class ProjectDTO
{
    string ContentTitle; // Project.Content.Title becomes ProjectDTO.ContentTitle
    string ContentData;  // Project.Content.Data becomes ProjectDTO.ContentData
}
project.InjectFrom<UnflatLoopValueInjection>(projectDTO);