无法遵循 AutoMapper 的文档 - CreateMapper 在哪里?
Can't follow AutoMapper's documentation - where is CreateMapper?
我在从 AutoMapper 的静态 API 升级时遇到了问题。
我正在按照 this page 上的示例进行操作,其中指出
Typical usage from 4.1 and before was:
Mapper.Initialize(cfg => {
cfg.AddProfile<AppProfile>();
cfg.CreateMap<Source, Dest>(); });
var dest = Mapper.Map<Source, Dest>(new Source());
In 4.2 and later, this would look like:
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 时,我看不到这个 'CreateMapper' 方法。
我应该使用什么?
我已经意识到是什么导致了我的问题。
为了在整个应用程序范围内使用 MapperConfiguration
,我将其存储为静态 属性:
public static IMapperConfiguration { get; private set; }
public static void Init()
{
MapperConfiguration = new MapperConfiguration(...);
...
MapperConfiguration. // CreateMapper() not available
}
这里的问题是 CreateMapper
方法仅适用于 MapperConfiguration
class,而不适用于 IMapperConfiguration
界面.
我在从 AutoMapper 的静态 API 升级时遇到了问题。
我正在按照 this page 上的示例进行操作,其中指出
Typical usage from 4.1 and before was:
Mapper.Initialize(cfg => { cfg.AddProfile<AppProfile>(); cfg.CreateMap<Source, Dest>(); }); var dest = Mapper.Map<Source, Dest>(new Source());
In 4.2 and later, this would look like:
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 时,我看不到这个 'CreateMapper' 方法。
我应该使用什么?
我已经意识到是什么导致了我的问题。
为了在整个应用程序范围内使用 MapperConfiguration
,我将其存储为静态 属性:
public static IMapperConfiguration { get; private set; }
public static void Init()
{
MapperConfiguration = new MapperConfiguration(...);
...
MapperConfiguration. // CreateMapper() not available
}
这里的问题是 CreateMapper
方法仅适用于 MapperConfiguration
class,而不适用于 IMapperConfiguration
界面.