2011-12-23 4 views
1

これは、インプリンターを価値のあるインジェクターに、オブジェクトマッピングの世界全体にまったく新しいものです。 valueinjecterは現時点ではより良い選択肢の一つだと思われます。 Imは私のドメインエンティティValueInjecterアーキテクチャーアドバイス

public class UserInfo : EntityBase 
{ 
    public UserInfo() 
    { 
     PersonName = new PersonName(); 
    } 

    public virtual string Email { get; set; } 

    public virtual string Password { get; set; } 

    public virtual PersonName PersonName { get; set; } 
} 

public class PersonName 
{ 
    public string FirstName { get; set; } 

    public string MiddleName { get; set; } 

    public string LastName { get; set; } 

    public string Fullname1 
    { 
     get { return string.Format(@"{0}, {1} {2}", LastName, FirstName, MiddleName); } 
    } 

    public string Fullname2 
    { 
     get { return string.Format(@"{0} {1} {2}", FirstName, MiddleName, LastName); } 
    } 
} 

へのviewmodel

public class RegisterModel 
{ 
    [Required] 
    [DataType(DataType.EmailAddress)] 
    [Display(Name = "Email address")] 
    public string Email { get; set; } 

    [Required] 
    [ValidatePasswordLength] 
    [DataType(DataType.Password)] 
    [Display(Name = "Password")] 
    public string Password { get; set; } 

    [DataType(DataType.Password)] 
    [Display(Name = "Confirm password")] 
    [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] 
    public string ConfirmPassword { get; set; } 

    [Required] 
    [StringLength(255)] 
    [Display(Name = "First Name")] 
    public string FirstName { get; set; } 

    [Display(Name = "Middle Name")] 
    public string MiddleName { get; set; } 

    [Required] 
    [StringLength(255)] 
    [Display(Name = "Last Name")] 
    public string LastName { get; set; } 
} 

からオブジェクト

のこの種は、基本的に私が何をしたいマップ値であるマッピングの最善の方法であるか疑問に思う私はこのコードを試してみましたそれは動作しますが、それを行う最良の方法であるかどうかは分かりません

 var newuserinfo = new UserInfo(); 
     newuserinfo.InjectFrom(model); 
     newuserinfo.PersonName.InjectFrom(model); 

そして、オブジェクトt valueinjecterのようなo-objectマッピングフレームワークは、システムアーキテクチャに適合していますか?私のオブジェクトマッピングのための単体テストを書くことを考えています。

答えて

1

のviewmodelsにエンティティをマッピングしてバックアップするValueInjecterを使用していますCodePlexの上のサンプルプロジェクトがあります:一般的に http://prodinner.codeplex.com/

があれば、それは大丈夫だ動作し、そうでない場合は、後でそれをリファクタリングしようとしているとしてとして、あなたが大きな写真を見ようとするとき

関連する問題