我正在尝试使用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代码。如果有人可以帮助或建议我,我将不胜感激。感谢。
答案 0 :(得分:0)
这个C#的VB等价物:
Mapper.Initialize(x =>
{
x.AddProfile<EntityMapProfile>();
});
就是这样:
Mapper.Initialize(Sub(x)
x.AddProfile(Of EntityMapProfile)();
End Sub)
你试过吗?