实际上,对于整个对象到对象映射世界,我对值注入器还是个新手。似乎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);像valueinjecter这样的对象到对象映射框架在系统架构中适合在哪里?我正在考虑为我的对象映射写一个单元测试。
发布于 2011-12-25 07:16:27
Codeplex上有一个示例项目,它使用ValueInjecter在实体与ViewModels之间来回映射:http://prodinner.codeplex.com/
一般来说,只要它正常工作,就没问题,如果它不工作,你就会在事后重构它,当你看到更大的图景时
https://stackoverflow.com/questions/8617873
复制相似问题