我有一个DTO如下:
class ProjectDTO{
string Title;
string Data;
}
然后域模型如下:
class Project{
Content Content {set;get;}
}
class Content{
string Title
string Data;
}
我正在使用ValueInjecter。我想将DTO映射到域模型。
project.InjectFrom(projectDTO);
由于内部物体而无法正常工作。
如何使用值injecter来完成?
答案 0 :(得分:1)
查看文档,我认为您需要使用FlatLoopValueInjection
类型。
project.InjectFrom<FlatLoopValueInjection>(projectDTO);
来源:https://valueinjecter.codeplex.com/wikipage?title=flattening&referringTitle=Home
修改强>
我只是注意到这只能解决你问题的正好相反。嘿。
修改强>
为什么不呢?
project.Content.InjectFrom(projectDTO);
修改强>
还有UnflatLoopValueInjection
类型似乎可以满足您的需求。
https://valueinjecter.codeplex.com/wikipage?title=unflattening
虽然文档有点模糊。似乎你必须遵循某种命名约定才能真正做任何事情。
class ProjectDTO
{
string ContentTitle; // Project.Content.Title becomes ProjectDTO.ContentTitle
string ContentData; // Project.Content.Data becomes ProjectDTO.ContentData
}
project.InjectFrom<UnflatLoopValueInjection>(projectDTO);