在VB.Net中使用匿名列表进行自动映射

时间:2015-05-19 10:33:32

标签: vb.net automapper anonymous-types

我在使用匿名类型VB.Net列表使Automapper正常工作时遇到了问题。我在C#中发现了一些在线示例但是无法将它们编译成一个转换为VB.Net的工作。下面的代码是我想要做的简化版本。我在下面的代码中得到的错误是"不能从使用中推断出类型参数"关于select和"不正确的参数数量"在DynamicMap中,我尝试了大量的变体,每个都修复了一个问题,并创建了至少一个。

任何帮助都会非常感激,因为我已经看了一天以上了。

Public Function OrgList() As List(Of OrganisationListSelectVm)
    Dim orgs = (From o In EntityModel.Organisations
    Join r In EntityModel.Regions On o.RegionID Equals r.RegionID
    Order By o.OrganisationName
    Select
        o.OrganisationID,
        o.OrganisationName,
        o.OrganisationCode,
        o.RegionID,
        r.RegionName).ToList()

    '** mapping one item works fine
    Dim oneItem = Mapper.DynamicMap(Of OrganisationListSelectVm)(orgs(0))

    '** C# mapper from various web sites
    'var result = orgs.Select(Mapper.DynamicMap<OrganisationListSelectVm>).ToList();

    '** VB converted type which fails
    Dim result As List(Of OrganisationListSelectVm) = orgs.[Select](Mapper.DynamicMap(Of OrganisationListSelectVm)).ToList()


    Return result
End Function

0 个答案:

没有答案