如果将空值分配给SettingCode,我希望将该值设置为“”或空字符串。
[Required(AllowEmptyStrings = true)]
[StringLength(20)]
public string SettingCode { get; set; }
答案 0 :(得分:3)
我猜您正在使用OR / M来提供此属性。因此,在数据库上有一个可为空的字段,而您只是不想在代码中使用null。这通常不是一个好主意,因为在您保留数据时可能会导致其他问题。 但是,如果是这种情况,并且要执行此操作,请使用备用字段:
string settingCode;
[Required(AllowEmptyStrings = true)]
[StringLength(20)]
public string SettingCode { get {return settingCode??"";} set { settingCode=value; } }
答案 1 :(得分:1)
这就像声明一个局部变量来保存值并在set
中实现一些代码一样简单:
private string _settingCode;
[Required(AllowEmptyStrings = true)]
[StringLength(20)]
public string SettingCode
{
get { return _settingCode; }
set
{
_settingCode = value == null ? string.Empty : value;
}
}
答案 2 :(得分:1)
我会使用属性+字段代替自动实现的属性来实现这一点:
private string _settingCode;
[Required(AllowEmptyStrings = true)]
[StringLength(20)]
public string SettingCode
{
get { return _settingCode; }
set { _settingCode = value?? string.Empty; }
}