2011-12-23 144 views
1

im有点新有价值的注射器,对整个对象映射到世界实物。似乎价值投资者是目前最好的选择之一。我想知道什么是映射的最佳途径这类对象的ValueInjecter体系结构建议

基本上我想要的是从视图模型

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; } 
} 

映射值到我的域实体

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); } 
    } 
} 

我想这码它的工作原理,但不知道它是否是最好的方法

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

并且对象-t o-对象映射框架就像价值观看者适合系统架构?我想写一个单元测试我的对象映射。

回答

1

有使用ValueInjecter到实体映射到的ViewModels和后端CodePlex上的示例项目: http://prodinner.codeplex.com/

一般来说,只要它的工作原理很确定,如果它不是你要事后重构它,当你要看到更大的图片

相关问题