0

AutoMapper を機能させる方法を見つけようとして、これを調べてきました。これは私が以前持っていたものです

public class DomainToViewModelMappingProfile: Profile
{
    public DomainToViewModelMappingProfile()
    {
        Mapper.Initialize(cfg => cfg.CreateMap<Institution, InstitutionDataViewModel>()
        .ForMember(vm => vm.InstitutionID, map => map.MapFrom(s => s.InstitutionID))
        .ForMember(vm=>vm.InstituteName,map=>map.MapFrom(s=>s.InstituteName))
        .ForMember(vm=>vm.Circuit,map=>map.MapFrom(s=>s.AdministrativeStructure.AdminStructName))
        .ForMember(vm=>vm.Level,map=>map.MapFrom(s=>s.Level.LevelName))
        );
    }
}

続いてこれ

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

最後に、これをstartup.csに入れました

// Automapper Configuration
        AutoMapperConfiguration.Configure();

私の困難は、コントローラーでこれを機能させる方法と、正しい軌道に乗っているかどうかです。さまざまな情報とさまざまなアプローチがあちこちにあるので、私はひどく混乱しています よろしくお願いします

4

1 に答える 1

1

プロファイルは非静的メソッドを呼び出す必要があります。Mapper.CreateMap...単純に次のように変更します。

public class DomainToViewModelMappingProfile : Profile
{
    public DomainToViewModelMappingProfile()
    {
        CreateMap<Institution, InstitutionDataViewModel>()
        .ForMember(vm => vm.InstitutionID, map => map.MapFrom(s => s.InstitutionID))
        .ForMember(vm => vm.InstituteName, map => map.MapFrom(s => s.InstituteName))
        .ForMember(vm => vm.Circuit, map => map.MapFrom(s => s.AdministrativeStructure.AdminStructName))
        .ForMember(vm => vm.Level, map => map.MapFrom(s => s.Level.LevelName))
        );
    }
}
于 2016-11-10T03:06:58.000 に答える