class Program
{
static void Main(string[] args)
{
// the app is starting here
InitializeAutomapper();
// we're configured, let's go!
DoStuff();
}
static void InitializeAutomapper()
{
AutoMapper.Mapper.CreateMap<TypeA, TypeB>();
AutoMapper.Mapper.CreateMap<TypeC, TypeD>();
AutoMapper.Mapper.CreateMap<TypeE, TypeF>();
}
}
我知道这是一个老问题,但如果你看到了这个,我想添加一些更新:Automaper不再允许静态初始化。
接下来,我提供了一个控制台应用程序如何使用它的完整示例。希望这对未来的某个人有所帮助。
class Program
{
static void Main(string[] args)
{
var config = new MapperConfiguration(cfg => {
cfg.CreateMap<MyClass, MyClassDTO>();
});
IMapper mapper = config.CreateMapper();
var myClass = new MyClass(){
Id = 10,
Name = "Test"
};
var dst = mapper.Map<MyClass, MyClassDTO>(myClass);
Console.WriteLine(dst.Id);
}
}
class MyClass
{
public int Id {get;set;}
public string Name {get;set;}
}
public class MyClassDTO
{
public int Id {get;set;}
public string Name {get;set;}
}
不要忘记包含 using AutoMapper;
是的,但它似乎依赖于System.Web,也必须包含在其中。
(有关更多详细信息,请参见神秘消失的引用)
.NET Framework 4
。@R0MANARMY 破解了它。 - StuperUser
Application_Start
与控制台应用程序中的Main
方法或多或少是可比较的。如果您的所有方法都是静态的,您可以在那里初始化它,或者如果您计划使用实例方法,则可以在应用程序的构造函数中进行初始化。 - Roman