如何在vb.net中初始化automapper global.asax

时间:2016-12-23 20:54:57

标签: asp.net asp.net-mvc vb.net automapper-5

我正在尝试使用ASP.NET API 2.0版中的vb.net在Global.asax文件中初始化Automapper。我正在使用Auto Mapper 5.2版。我可以使用C#代码初始化,但我对VB.Net不太确定。谷歌搜索后我找到了一些东西,这就是我现在正在尝试的东西:

Module AutoMapperConfiguration
Public MapperConfiguration As IMapper
Public Sub Configure()
    Dim config = New MapperConfiguration(//in this line I'm getting an error: 
  

重载解析失败,因为无法使用以下参数调用可访问的“新建”:       'Public Overloads Sub New(configurationExpression As MapperConfigurationExpression)':Lambda表达式无法转换为'MapperConfigurationExpression',因为'MapperConfigurationExpression'不是委托类型。

        Sub(cfg)
            cfg.AddProfile(New EntityMapProfile())
        End Sub)
    MapperConfiguration = config.CreateMapper()
 End Sub
End Module

然后我从Application_Start()

调用了这个模块
  AutoMapperConfiguration.Configure()

这里我没有遇到任何错误,但在前一行我遇到了导致问题的错误。 但是上次我使用C#在global.asax文件中使用以下代码行完成了这项工作

  Mapper.Initialize(x =>
        {
            x.AddProfile<EntityMapProfile>();
        });

在Application_Start()下运行良好,但现在即使我转换上面的代码行,那么我仍然面临着问题。 在这里,我想提一下,我已经找到了以下Link的VB.Net代码。如果有人可以帮助或建议我,我将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

这个C#的VB等价物:

Mapper.Initialize(x =>
    {
        x.AddProfile<EntityMapProfile>();
    });

就是这样:

Mapper.Initialize(Sub(x)
        x.AddProfile(Of EntityMapProfile)();
    End Sub)

你试过吗?