2016-03-14 59 views
1

從AutoMapper的靜態API升級時遇到問題。無法關注AutoMapper的文檔 - CreateMapper在哪裏?

我下面就this page的例子,其中指出,

從4.1和之前的典型用法是:

Mapper.Initialize(cfg => { 
    cfg.AddProfile<AppProfile>(); 
    cfg.CreateMap<Source, Dest>(); }); 

var dest = Mapper.Map<Source, Dest>(new Source()); 

在4.2及更高版本,這將是這樣的:

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

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

但是,雖然通過NuGet使用v4.2.1我看不到s'CreateMapper'方法。

我該用什麼?

回答

1

我意識到造成我的問題的原因。

爲了使用MapperConfiguration應用程序範圍內,我把它作爲一個靜態屬性:

public static IMapperConfiguration { get; private set; } 

public static void Init() 
{ 
    MapperConfiguration = new MapperConfiguration(...); 
    ... 
    MapperConfiguration. // CreateMapper() not available 
} 

這裏的問題是,CreateMapper方法僅對的MapperConfiguration類,而不是IMapperConfiguration可用界面