1

私はオートマッパーが初めてです。ViewModel から Entity へのマッピングに助けが必要です。

これが私のユーザーエンティティです

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 にします。

オートマッパーを使用して実行できるかどうか、またはマッピング後に実行する必要があるかどうかを知りたいです。

サンプルコードを見せてください。

4

1 に答える 1

2

UserViewModel ビュー モデルと User エンティティがあるとおっしゃいましたが、マッピング構成には 3 番目のタイプ - 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 ウィキ.

于 2012-07-17T05:47:13.670 に答える