2016-10-08 19 views
0

AutoMapperを使用して、私のDBエンティティからビューモデルにカスタムマッピングを設定する際に問題が発生しています。AutoMapper - カスタムマッピング

私の目標は、私のApplicationUserViewModelApplicationUserをマッピングすることです。

私はこのようなユーザのリストを返しています:私のAutoMapper構成は以下が含まれStartup.csで

return View(Mapper.Map<IEnumerable<ApplicationUserViewModel>>(_userRepository.GetAllUsersWithRoles())); 

を:

Mapper.Initialize(config => 
{ 
    ... 
    config.CreateMap<ApplicationUserViewModel, ApplicationUser>().ReverseMap(); 
}); 

そして、私は基本的に自動的に設定するAutoMapperをお伝えしたいと思います私のViewModelクラス(IsConnectedToFacebook)の下のプロパティは、DBからのApplicationUserエンティティがプロバイダのFacebookとの間でログインを保持している場合にtrueになります。したがって、このようsomethink:ここ

viewmodel.IsConnectedToFacebook = user.Logins.Any(login => login.LoginProvider == "Facebook"); 

ビューモデル:

public class ApplicationUserViewModel 
{ 
    ... 
    public bool IsConnectedToFacebook { get; set; } 
} 

をあなたの助けのためにありがとうございました!

ニック

答えて

1

私はそれが以下の作業だ:

config.CreateMap<ApplicationUser, ApplicationUserViewModel>() 
        .ForMember(dest => dest.IsConnectedToFacebook, 
         src => src.MapFrom(s => s.Logins.Any(login => login.LoginProvider == "Facebook"))); 
関連する問題