2016-12-23 1 views
0

Я пытаюсь инициализировать Automapper в файле Global.asax с помощью vb.net в API ASP.NET версии 2.0. Я использую Auto Mapper версии 5.2. Я могу инициализировать использование кода C#, но я не уверен в отношении VB.Net. После того, как я прибегая к помощи нашел что-то, и вот что я пытаюсь в настоящее время:Как инициализировать automapper в vb.net global.asax

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

разрешение перегрузки не удалась, поскольку не доступны «Новый» можно назвать с этими аргументами: «Общественные Перегрузки Sub New (configurationExpression Как 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(), которая работала хорошо, но теперь, даже если я конвертировать эти вышеуказанные строки кода, тогда еще У меня проблемы. Здесь я хотел бы упомянуть, что я нашел код VB.Net из следующего Link. Я был бы признателен, если кто-нибудь может мне помочь или предложить. Благодарю.

ответ

0

В.Б. эквивалент этой C#:

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

это:

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

Пробовали ли вы что?

Смежные вопросы