【问题标题】:need help to map ViewModel to Entity using AutoMapper需要帮助使用 AutoMapper 将 ViewModel 映射到实体
【发布时间】:2012-07-17 13:47:13
【问题描述】:

我是自动映射器的新手。需要一些帮助才能从 ViewModel 映射到实体。

这是我的用户实体

public class User
{
    public int Id { get; set; }
    public string Firstname { get; set; }
    public string Lastname { get; set; }

    public DateTime CreatedDate { get; set; }
    public string DisplayName { get; set; }
}

这是我的视图模型

public class UserViewModel
{

    public string Email { get; set; }
    public string Password { get; set; }
}

我创建了一张地图。它不工作

        CreateMap<UserLoginViewModel, User>()
            .ForMember(dest=>dest.CreatedDate, DateTime.Now)
            .ForMember(dest=>dest.DisplayName, "");

DisplayName 和 CreatedDate 是必填字段。由于它不在 ViewModel 中,我将设置 DisplayName = "" 和 CreateDate = datetime.now。

我想知道我是否可以使用自动映射器来完成,或者我必须在映射后进行。

请给我一些示例代码。

【问题讨论】:

    标签: automapper


    【解决方案1】:

    您提到您有 UserViewModel 视图模型和用户实体,但是您的映射配置包含第三种类型 - UserLoginViewModel。假设 UserLoginViewModel 与 UserViewModel 相同,您应该如下更改配置。

     Mapper.CreateMap<UserViewModel, User>()
            .ForMember(dest=>dest.CreatedDate, t=> t.MapFrom(s=> DateTime.Now))
            .ForMember(dest=>dest.DisplayName, t=> t.MapFrom(s=> ""));
    

    AutoMapper wiki.

    【讨论】:

    • 它有效,这正是我正在寻找的。非常感谢
    猜你喜欢
    • 2019-06-02
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多