C# 将DTO映射到域模型
我的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
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);