在 ASP.NET MVC 应用程序中初始化 AutoMapper v6 时出错

张所罗门
var config = new MapperConfiguration(cfg =>
    {
         cfg.CreateMap<SomeSourceModel, SomeDestinationModel>();
    });

 config.AssertConfigurationIsValid();
 var mapper = config.CreateMapper();

我在项目中重复这些代码。想创建一个通用接口 IMapper 以便我可以在需要使用时调用。

我创建的解决方案是

    private IMapper Mapper(TSource source, TDestination dest)
    {
        var config = new MapperConfiguration(cfg =>
        {
            cfg.CreateMap<source, dest>();
        });

        config.AssertConfigurationIsValid();

        return  config.CreateMapper();
    }

它不起作用。问题是我无法以这种方式将源模型和目标模型作为参数传递。如何解决这个问题?

更新 1:

正如@12秒提到的,我开始初始化MapperConfigrationGlobal.asax.cs

在 App_Start 文件夹中,我创建了

public class MappingProfile : Profile
{
    public MappingProfile()
    {
        CreateMap<SourceModel1, DestinationModel1>();
        CreateMap<SourceModel2, DestinationModel2>();
        CreateMap<SourceModel3, DestinationModel3>();
        CreateMap<SourceModel4, DestinationModel4>();
        CreateMap<SourceModel5, DestinationModel5>();

        Mapper.AssertConfigurationIsValid();
    }

}

Global.asax.cs

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

然后我试着AutoMapperConfiguration.Configure();在几个地方打电话当我开始运行应用程序时,我收到了相同的错误消息

映射器未初始化。使用适当的配置调用 Initialize。如果您尝试通过容器或其他方式使用映射器实例,请确保您没有对静态 Mapper.Map 方法的任何调用,并且如果您使用的是 ProjectTo 或 UseAsDataSource 扩展方法,请确保您传入适当的 IConfigurationProvider实例。

我想在哪里打电话AutoMapperConfiguration.Configure();我错过了什么?

张所罗门

问题解决了。Mapper.AssertConfigurationIsValid();应该在 Mapper 初始化后执行。

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

        Mapper.Configuration.AssertConfigurationIsValid();               
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Asp.Net MVC 4中创建视图时出错

来自分类Dev

在ASP.NET Core 1.0 MVC6中使用内置的IoC配置AutoMapper 4.2

来自分类Dev

如何在ASP.NET MVC中配置AutoMapper属性

来自分类Dev

在ASP.NET MVC应用程序中的Global.asax级别配置最新版本的AutoMapper

来自分类Dev

如何在启动时初始化应用程序状态并从MVC 6中的控制器访问它?

来自分类Dev

ASP.NET 5 / MVC 6应用程序设置

来自分类Dev

IIS应用程序初始化未触发到ASP.NET应用程序

来自分类Dev

无法在ASP.NET MVC中初始化SelectList

来自分类Dev

尝试使用ASP.NET MVC从Kendo UI Grid中的子网格重定向时出错

来自分类Dev

在ASP.NET MVC中读取文本文件时出错

来自分类Dev

尝试为Asp.Net mvc 5中的用户和角色播种数据时出错

来自分类Dev

在Identity Asp.net core 3 MVC中创建服务IUserStore时出错

来自分类Dev

在ASP.NET MVC4 LINQ中执行语句时出错

来自分类Dev

在ASP.Net MVC中添加WCF服务参考时出错

来自分类Dev

在 ASP.NET MVC 中执行 Oracle 匿名块时出错

来自分类Dev

重命名ASP.NET MVC项目时出错

来自分类Dev

在ASP.NET MVC中使用ExpandoObject时出错

来自分类Dev

在ASP.NET MVC中使用ExpandoObject时出错

来自分类Dev

ASP.NET MVC 6应用程序的虚拟应用程序根路径

来自分类Dev

非静态AutoMapper和ASP.NET MVC

来自分类Dev

在ASP.NET MVC6的何处添加初始化逻辑?

来自分类Dev

清理ASP.NET MVC应用程序中的输入

来自分类Dev

ASP.NET 4.6 WebForms和ASP.NET Core MVC 1.0(aka MVC6)可以在同一应用程序中运行吗?

来自分类Dev

ASP.NET MVC 6中的TryValidateModel

来自分类Dev

如何在ASP.Net Webapp中引用的项目DLL中初始化AutoMapper配置文件

来自分类Dev

建立与SQL Server的连接时发生与网络相关或特定于实例的错误(在Asp.net Mvc应用程序中)

来自分类Dev

使用身份验证时,TFS WorkItemStore在ASP.NET MVC应用程序中引发COMException

来自分类Dev

建立与SQL Server的连接时发生与网络相关或特定于实例的错误(在Asp.net Mvc应用程序中)

来自分类Dev

ASP.NET MVC:在应用程序启动时检查数据库连接

Related 相关文章

  1. 1

    在Asp.Net MVC 4中创建视图时出错

  2. 2

    在ASP.NET Core 1.0 MVC6中使用内置的IoC配置AutoMapper 4.2

  3. 3

    如何在ASP.NET MVC中配置AutoMapper属性

  4. 4

    在ASP.NET MVC应用程序中的Global.asax级别配置最新版本的AutoMapper

  5. 5

    如何在启动时初始化应用程序状态并从MVC 6中的控制器访问它?

  6. 6

    ASP.NET 5 / MVC 6应用程序设置

  7. 7

    IIS应用程序初始化未触发到ASP.NET应用程序

  8. 8

    无法在ASP.NET MVC中初始化SelectList

  9. 9

    尝试使用ASP.NET MVC从Kendo UI Grid中的子网格重定向时出错

  10. 10

    在ASP.NET MVC中读取文本文件时出错

  11. 11

    尝试为Asp.Net mvc 5中的用户和角色播种数据时出错

  12. 12

    在Identity Asp.net core 3 MVC中创建服务IUserStore时出错

  13. 13

    在ASP.NET MVC4 LINQ中执行语句时出错

  14. 14

    在ASP.Net MVC中添加WCF服务参考时出错

  15. 15

    在 ASP.NET MVC 中执行 Oracle 匿名块时出错

  16. 16

    重命名ASP.NET MVC项目时出错

  17. 17

    在ASP.NET MVC中使用ExpandoObject时出错

  18. 18

    在ASP.NET MVC中使用ExpandoObject时出错

  19. 19

    ASP.NET MVC 6应用程序的虚拟应用程序根路径

  20. 20

    非静态AutoMapper和ASP.NET MVC

  21. 21

    在ASP.NET MVC6的何处添加初始化逻辑?

  22. 22

    清理ASP.NET MVC应用程序中的输入

  23. 23

    ASP.NET 4.6 WebForms和ASP.NET Core MVC 1.0(aka MVC6)可以在同一应用程序中运行吗?

  24. 24

    ASP.NET MVC 6中的TryValidateModel

  25. 25

    如何在ASP.Net Webapp中引用的项目DLL中初始化AutoMapper配置文件

  26. 26

    建立与SQL Server的连接时发生与网络相关或特定于实例的错误(在Asp.net Mvc应用程序中)

  27. 27

    使用身份验证时,TFS WorkItemStore在ASP.NET MVC应用程序中引发COMException

  28. 28

    建立与SQL Server的连接时发生与网络相关或特定于实例的错误(在Asp.net Mvc应用程序中)

  29. 29

    ASP.NET MVC:在应用程序启动时检查数据库连接

热门标签

归档