当源字段为空时,AutoMapper映射0

时间:2014-05-26 07:10:52

标签: asp.net-mvc automapper

我有一个允许在我的EntityModel中使用null的外键。我使用Automapper将我的ViewModel映射到EntityModel。如果用户将字段控件(组合框)留空,则AutoMapper将其映射为0,这会引发参照完整性错误。

有没有办法保留空值?

更新

以下是我的对象(感兴趣的领域是SalutationId)

public class UserVM
{
    public long UserId {get;set;}

    [Display(Name = "Salutation:")]
    public long SalutationId { get; set; }

    [Required(ErrorMessage = "The First Name field is required!")]
    [Display(Name = "* First Name:")]
    public string FirstName { get; set; }

    [Required(ErrorMessage = "The Last Name field is required!")]
    [Display(Name = "* Last Name:")]
    public string LastName { get; set; }
}

public class tblUser
{
    public long UserId;
    public Nullable<System.Int64> SalutationId;
    public string FirstName;
    public string LastName;

}

1 个答案:

答案 0 :(得分:2)

  

如果用户将场控制(组合框)留空

SalutationId中的

UserVM将被设置为默认值,即0。自动播放器按预期工作,因为它映射0 - &gt; 0

您还必须在ViewModel中进行SalutationId nulabble。