【问题标题】:What advantage from Required attribute for nullable field in entity?实体中可为空字段的必需属性有什么优势?
【发布时间】:2014-11-26 13:52:27
【问题描述】:

例如,我有一个实体Entity,它有一个SomeValue 类型为double? 的字段。

我为此字段设置了Required 属性。该字段的行为是否类似于double

public class Entity
{
   [Required]
   public double? SomeValue { get;set;}
}

【问题讨论】:

  • 对于double,如果没有提供值,它将默认为0,而对于double?,它将为空,因此您可以确定是否提供了值。将[Required] 添加到不可为空的类型是多余的,因为它总是有一个值。
  • 它的行为类似于一个也可能为空的双精度数。如果您在此处使用 ASP.NET MVC,[Required] 将强制用户在输入控件中输入值
  • @Sinatr,是的,但另一方面,它需要SomeValue

标签: c# asp.net-mvc attributes required


【解决方案1】:

它首先与 .NET 数据类型无关。相反,它是数据库列的客户端对应物是否可以为空。 如果您不为标有Required 属性的属性提供值,则实体将无效,无需进行数据库服务器往返。

严格来说,可为空的 .NET 数据类型对于不可为空的数据库列没有意义。但这不是重点……

【讨论】:

  • 如果我的房产同时拥有?[Required]。那是什么意思。什么时候使用?为什么我们可以同时选择?[Rerquired]。请指导我。我很困惑。
猜你喜欢
  • 2016-12-12
  • 1970-01-01
  • 2012-05-29
  • 2015-04-27
  • 2011-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多