【发布时间】:2017-02-17 05:41:41
【问题描述】:
我在使用 AutoMapper 设置从我的数据库实体到我的视图模型的自定义映射时遇到了麻烦。
我的目标是将 ApplicationUser 映射到我的 ApplicationUserViewModel。
我正在返回这样的用户列表:
return View(Mapper.Map<IEnumerable<ApplicationUserViewModel>>(_userRepository.GetAllUsersWithRoles()));
在 Startup.cs 我的 AutoMapper 配置包括以下内容:
Mapper.Initialize(config =>
{
...
config.CreateMap<ApplicationUserViewModel, ApplicationUser>().ReverseMap();
});
如果数据库中的 ApplicationUser 实体通过提供程序 facebook 存储了一个登录名,我基本上想告诉 AutoMapper 自动将我的 ViewModel 类 (IsConnectedToFacebook) 的以下属性设置为 true。所以有人这样想:
viewmodel.IsConnectedToFacebook = user.Logins.Any(login => login.LoginProvider == "Facebook");
这里是视图模型:
public class ApplicationUserViewModel
{
...
public bool IsConnectedToFacebook { get; set; }
}
非常感谢您的帮助!
尼克
【问题讨论】:
标签: c# .net asp.net-core mapping automapper