【发布时间】:2016-12-12 11:58:33
【问题描述】:
如何使数据库代码迁移需要的属性(用于字段验证)但可为空?
我确实有一个包含一千个条目的数据库表。最近需要添加所需的 DateTime 属性。
[Required]
[Display(Name = "Birth", Order = 10)]
public DateTime? Birth { get; set; }
如果我设置[Required] 注释,代码优先迁移将在列声明中添加NOT NULL。但是,所有当前条目都没有“出生”数据。它将为 NULL。
Birth 属性应该是视图字段验证所必需的,但它可以在数据库中为空。这有可能吗?
我已经尝试添加“?” (可为空)到属性和“虚拟”没有成功。
【问题讨论】:
-
如果你编辑数据,你不应该在视图中使用数据模型 - 你应该使用视图模型,
DateTime可以用[Required]装饰,但从数据模型中省略.
标签: c# asp.net-mvc entity-framework ef-code-first entity-framework-migrations