如何在 Code First 属性中强制允许 null?

Posted

技术标签:

【中文标题】如何在 Code First 属性中强制允许 null?【英文标题】:How to force allow null in a Code First property? 【发布时间】:2016-07-17 19:18:42 【问题描述】:

我想要迁移到 sql server 数据库的实体类中有一个 datetime 属性。

在代码中创建实例时我没有使用它,这意味着它正在使用 mindate

一切都很好,但它保存在数据库结构的列中,因为不可为空

我想强制它可以为空,但到目前为止我只想出了相反的,使用 [Required]

有什么建议吗?

谢谢

【问题讨论】:

【参考方案1】:

一个属性不能同时带有 [Required] 标签并且可以为空。

要让 DateTime 类型在数据库中生成 NULL,首先要去掉 [Required] 标记,然后将模型更改为如下所示:

public System.Nullable<DateTime> Date  get; set; 

public DateTime? Date  get; set;  

两者都可以。

【讨论】:

以上是关于如何在 Code First 属性中强制允许 null?的主要内容,如果未能解决你的问题,请参考以下文章

Entity Framework Code First 不允许Entity直接实现接口

如何在 Entity Framework Code First 中映射 sum 属性(如 TotalPrice)

如何在 Entity Framework Code First 中使属性唯一

转 Code First 数据注释--InverseProperty 和 ForeignKey

转 Code First 数据注释--InverseProperty 和 ForeignKey

忽略 Entity Framework 4.1 Code First 中的类属性