2014-10-20 12 views
18

Używam automatycznego mapowania po raz pierwszy.Jak skonfigurować Auto-mapper w projekcie biblioteki klas?

Pracuję nad aplikacją C# i chcę używać automatycznego odwzorowania.

(Chcę tylko wiedzieć, jak go używać, więc nie mam ani aplikacji asp.net MVC app.)

Mam trzy projekty klasy biblioteki.

enter image description here

Chcę napisać proces transferu w projekcie usług.

Więc chcę wiedzieć, jak i gdzie powinienem skonfigurować Auto Mapper?

Odpowiedz

20

można umieścić konfigurację wszędzie:

public class AutoMapperConfiguration 
{ 
    public static void Configure() 
    { 
     Mapper.Initialize(x => 
      { 
       x.AddProfile<MyMappings>();    
      }); 
    } 
} 

public class MyMappings : Profile 
{ 
    public override string ProfileName 
    { 
     get { return "MyMappings"; } 
    } 

    protected override void Configure() 
    { 
    ...... 
    } 

Ale to musi być wywołana przez aplikację korzystającą z biblioteki w pewnym momencie:

void Application_Start() 
    {    
     AutoMapperConfiguration.Configure(); 
    } 
0

polecam skorzystanie z instance based approach using an IMapper:

var config = new MapperConfiguration(cfg => { 
    cfg.AddProfile<AppProfile>(); 
    cfg.CreateMap<Source, Dest>(); 
}); 

IMapper mapper = config.CreateMapper(); 
// or 
IMapper mapper = new Mapper(config); 
var dest = mapper.Map<Source, Dest>(new Source()); 

W ten sposób nikt poza biblioteką nie musi wywoływać żadnego configu metoda racjonowania. Możesz zdefiniować MapperConfiguration i utworzyć program od tego miejsca w bibliotece klas.

Powiązane problemy