Asp.net mvc 源字段为空时自动映射0
我的EntityModel中有一个允许null的外键。我正在使用Automapper将我的ViewModel映射到EntityModel。如果用户将字段控件(组合框)留空,则AutoMapper会将其映射到0,这会引发引用完整性错误 有没有办法保持空值不变 更新: 下面是我的对象(感兴趣的领域是saltationid)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=“需要名字字段
公共类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;
}