2010-03-15 2 views
3

Disons mon objet de domaine peut contenir un tas d'objets comme celui-ci:automapper - comment la carte liste d'objets

List<Thing> Things 

où Thing est défini comme ceci:

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

Mon DTO contient

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

La question est comment puis-je utiliser automapper pour mapper les choses aux «bits pertinents» dans le DTO?

Merci.

Christian

Répondre

1

En écrivant custom resolver, je suppose.

C'est une exigence plutôt inhabituelle - perdre la liaison entre l'identifiant et le nom.


Je pense que vous avez raison. désolé, je suis encore en train d'apprendre sur la cartographie dto/viewmodel. Pensez-vous qu'il est acceptable de placer un objet domaine dans un DTO car il n'y a pas grand intérêt à créer un dto pour Thing?

Ne pas mélanger le modèle de domaine à l'intérieur du modèle de vue. Vous regretterez que la semaine prochaine (j'ai fait à coup sûr ...).

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 Vous pouvez trouver quelques autres réflexions sur le modèle de vue.

+0

> C'est tout à fait inhabituel exigence - de perdre liaison entre id et le nom ouais je pense que vous avez raison. désolé, je suis encore en train d'apprendre sur la cartographie dto/viewmodel. Pensez-vous qu'il est acceptable de placer un objet domaine dans un DTO car il n'y a pas grand intérêt à créer un dto pour Thing? – cs0815

Questions connexes