首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ValueInjecter架构建议

ValueInjecter架构建议
EN

Stack Overflow用户
提问于 2011-12-23 23:43:40
回答 1查看 146关注 0票数 1

实际上,对于整个对象到对象映射世界,我对值注入器还是个新手。似乎valueinjecter是目前更好的选择之一。我想知道映射这类对象的最佳方式是什么

基本上我想要的是视图模型中的映射值

代码语言:javascript
复制
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; }
}

添加到我的域实体

代码语言:javascript
复制
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); }
    }
}

我试过这段代码,它可以工作,但不确定这是否是最好的方法

代码语言:javascript
复制
        var newuserinfo = new UserInfo();
        newuserinfo.InjectFrom(model);
        newuserinfo.PersonName.InjectFrom(model);

像valueinjecter这样的对象到对象映射框架在系统架构中适合在哪里?我正在考虑为我的对象映射写一个单元测试。

EN

回答 1

Stack Overflow用户

发布于 2011-12-25 07:16:27

Codeplex上有一个示例项目,它使用ValueInjecter在实体与ViewModels之间来回映射:http://prodinner.codeplex.com/

一般来说,只要它正常工作,就没问题,如果它不工作,你就会在事后重构它,当你看到更大的图景时

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8617873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档