Asp.net mvc 如果使用asp.net mvc将String.Empty值指定给属性为Null,那么最好的方法是什么
我在数据库中有一个列,它的名称为字符串,值为null 当我没有在名称字段中输入任何内容时,它将以NULL的形式保存到数据库中 但我需要将此值保存为string.Empty或“” 我是这样做的Asp.net mvc 如果使用asp.net mvc将String.Empty值指定给属性为Null,那么最好的方法是什么,asp.net-mvc,asp.net-mvc-2,Asp.net Mvc,Asp.net Mvc 2,我在数据库中有一个列,它的名称为字符串,值为null 当我没有在名称字段中输入任何内容时,它将以NULL的形式保存到数据库中 但我需要将此值保存为string.Empty或“” 我是这样做的 h.assignedName= m.Name== null ? string.Empty : m.Name; ViewModel属性已更改 Public string Name {get;set;} 我的问题是,我们是否可以通过其他方式来分配这个值has String.Empty,而不执行上述任何
h.assignedName= m.Name== null ? string.Empty : m.Name;
ViewModel属性已更改
Public string Name {get;set;}
我的问题是,我们是否可以通过其他方式来分配这个值has String.Empty,而不执行上述任何条件
我不想用?操作员检查状况或是否存在状况
谢谢您可以将数据库中的列更改为非
NULL
,并将默认值设置为“”。这样你就不必使用了?有条件的不确定这是否是最佳实践,但这将节省您添加额外代码的时间
另一种方法是围绕数据创建包装器类。我看到您在代码示例中使用了m.Name
。你可以:
public class MyWrapper
{
private string _name;
public string Name
{
get {
if (String.IsNullOrEmpty(_name)){
return String.Empty;
}
return _name;
}
set{
_name = value;
}
}
}
因此,当您从数据库读取数据时,请创建包装器类的实例,以在获取名称时隐藏详细信息。您可以将数据库中的列更改为非空,并将默认值设置为“”。这样你就不必使用了?有条件的不确定这是否是最佳实践,但这将节省您添加额外代码的时间 另一种方法是围绕数据创建包装器类。我看到您在代码示例中使用了
m.Name
。你可以:
public class MyWrapper
{
private string _name;
public string Name
{
get {
if (String.IsNullOrEmpty(_name)){
return String.Empty;
}
return _name;
}
set{
_name = value;
}
}
}
<> P>这样,当您从数据库读取数据时,创建包装类的实例以在获得名称时隐藏细节。 < P>您可以考虑更改代码构造的布局,并使用类似的业务规则。
“M.Nead永远不会是NULL”。然后您应该将它初始化为String。空,以便它永远不能为null。 < P>您可以考虑更改代码构造的布局,并使用类似的业务规则。
“m.Name可能永远不会为null。”然后您应该将其初始化为String.Empty,这样它就永远不会为null。Jason的想法是合理的,假设您不关心做那个小的更改。 另一种方法是放弃自动属性并在get中处理检查
private string name;
public string Name
{
get { return (name == null) ? string.Empty : name; }
}
对于您想要使用这种样式的所有属性,这显然有更多的初始代码
或者,您可以确保它在构造函数中永远不为空Jason的想法是合理的,假设您不关心做那个小更改。 另一种方法是放弃自动属性并在get中处理检查
private string name;
public string Name
{
get { return (name == null) ? string.Empty : name; }
}
对于您想要使用这种样式的所有属性,这显然有更多的初始代码
或者,您可以确保构造函数中的值从不为null请告诉我,如果数据库值不为null,如何将值设置为“”?您认为哪一个不是最佳做法?谢谢Jas。如果使用此属性在ViewModel中设置空值。将数据库列设置为空值字段可以吗?如果数据库值不为空,请告诉我如何将值设置为“”?您说哪一个不是最佳做法?谢谢Jas。如果使用此属性在ViewModel中设置空值。将数据库列作为空值字段可以吗?