我有以下模特
楷模
public class Dish
{
[Required]
public Int64 ID { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Description { get; set; }
[Required]
public double Price { get; set; }
[Required]
public DateTime From { get; set; }
[Required]
public DateTime To { get; set; }
[Required]
public bool IsAvailable { get; set; }
[Required]
public string MealImage { get; set; }
[Required]
public List<Ingredients> Ingredients { get; set; }
}
public …Run Code Online (Sandbox Code Playgroud) 我正在使用AutoMapper的5.1.1.0版.以前我能够做到以下几点:
Mapper.CreateMap<SchoolYearDetail, SchoolYearDto>();
Run Code Online (Sandbox Code Playgroud)
但是在5.1.1.0版本中它不再存在.谁能告诉我该怎么办?
既然AutoMapper正在废除静态API和在运行时更改映射的能力,那么在没有IoC管理器的情况下我的WebForms应用程序就会出现问题.
对于这个问题的缘故拿给出我不能提出一个IoC经理到这个应用程序,而这将是"好做",没有它的应用一直在努力罚款数年,并且它不能正确的进行此时此刻.在未来可能,但不是现在.
使用AutoMapper之前我曾经做过的事情是在我实例化的每个类中都有一个方法,它由构造函数自动调用.在那种方法中,我将有必要:
Mapper.CreateMap<>()
Run Code Online (Sandbox Code Playgroud)
调用.这具有以下优点:
我很高兴能够以这种方式满足每次执行操作的性能,而不是在Application_Start()中执行此操作.
但是使用AutoMapper 5 ... 从静态API读取迁移后,我现在必须:
如果我在上面的1.和2.中的假设是正确的,我现在有一大堆紧密耦合的意大利面条代码.
所以我的问题是:
如何在一个webforms应用程序中使用AutoMapper 5,在解决方案中有许多项目(因此有很多类型),没有优雅的IoC?
我目前正在学习ASP.NET MVC的教程,其中讲师使用自动映射器版本4.x,现在我只有版本5的选项.
当我创建一个映射配置文件,其中我得到一个错误Mapper不包含以下定义CreateMap:

我附上了以下所有图片:我的映射配置文件.我的Global.asax.cs.
/api/customer工作正常.
/api/movies不管用.
在这种情况下,我无法关注wiki.我想使用Automapper 5.2.我找不到一个结尾示例的简单结尾,它显示了具有上下文的可靠配置.根据上下文,我的意思是你在哪里放置配置文件,以及静态和实例api之间的区别?
我查看了DNRTV下载,但它处理的是1.0版本.
你如何设置这个包?我有一个名为Client的模型,如下所示.
public class Client : IEntityBase
{
public Client()
{
Jobs = new List<Job>();
}
public int Id { get; set; }
public int ClientNo { get; set; }
public bool Company { get; set; }
public string CompanyName { get; set; }
public string ClientFirstName { get; set; }
public DateTime DeActivated { get; set; }
public bool Activity { get; set; }
public DateTime DateCreated { get; set; }
public DateTime DateUpdated { get; set; …Run Code Online (Sandbox Code Playgroud)