2010-03-15 159 views
3

让我们说我的域对象可以包含这样的一堆对象:automapper - 如何映射对象列表

List<Thing> Things 

,其中一点是这样定义的:

class Thing 
(
    public int ThingId { get; set; } 
    public string ThingName { get; set; } 
) 

我的DTO包含

List<string> ThingIds; 
List<string> ThingNames; 

问题是我该如何使用automapper将东西映射到DTO中的“相关位”?

谢谢。

基督教

回答

1

通过写custom resolver,我猜。

这是相当不寻常的要求 - 失去ID和名之间的结合。


我认为你是对的。抱歉,我仍在学习dto/viewmodel映射。你是否认为这是可以接受的把DTO内部的域对象,因为没有在创造事物的DTO多少点?

不要视图模型内混合域模型。下周你会后悔的(我确实......)。

class Thing { 
    public int ThingId { get; set; } 
    public string ThingName { get; set; } 
    public string UnnecessaryProp {get;set;} 
} 

class ThingViewModel { 
    public int ThingId { get; set; } 
    public string ThingName { get; set; } 
} 

class MyView { 
    public IEnumerable<ThingViewModel> Things {get;set;} 
} 

Here你可以找到更多关于视图模型的想法。

+0

>这是相当不寻常的要求 - 失去身份证和名称之间的绑定 是的我认为你是对的。抱歉,我仍在学习dto/viewmodel映射。你是否认为这是可以接受的把DTO内部的域对象,因为没有在创造事物的DTO多少点? – cs0815 2010-03-15 13:57:58