Asp.net mvc 源字段为空时自动映射0

Asp.net mvc 源字段为空时自动映射0,asp.net-mvc,automapper,Asp.net Mvc,Automapper,我的EntityModel中有一个允许null的外键。我正在使用Automapper将我的ViewModel映射到EntityModel。如果用户将字段控件(组合框)留空,则AutoMapper会将其映射到0,这会引发引用完整性错误 有没有办法保持空值不变 更新: 下面是我的对象(感兴趣的领域是saltationid) 公共类UserVM { 公共长用户标识{get;set;} [显示(Name=“敬礼:”)] 公共长地址ID{get;set;} [必需(ErrorMessage=“需要名字字段

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

有没有办法保持空值不变

更新:

下面是我的对象(感兴趣的领域是saltationid)

公共类UserVM
{
公共长用户标识{get;set;}
[显示(Name=“敬礼:”)]
公共长地址ID{get;set;}
[必需(ErrorMessage=“需要名字字段!”)]
[显示(名称=“*名字:”)]
公共字符串名{get;set;}
[必需(ErrorMessage=“姓氏字段是必需的!”)]
[显示(名称=“*姓氏:”)]
公共字符串LastName{get;set;}
}
公共类tblUser
{
公共长用户ID;
公共可为空的saltationid;
公共字符串名;
公共字符串LastName;
}
如果用户将字段控件(组合框)留空

UserVM
中的
saltationid
将被设置为其默认值,即0。Automapper按预期工作,因为它映射0->0


您还必须使ViewModel中的
saltationId
Nulable。

并且与外键对应的属性是可空类型?也许你能给我看看你的课吗?
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;

}