EntityFramework保存约束

时间:2017-06-30 14:36:10

标签: c# entity-framework constraints

我有一个对非可空字段有约束的数据库。

让我们看一下:ModifiedDate。

当INSERT命令中没有提供值时,约束默认为getdate()。

我的代码正在使用实体框架,所以我制作了一个入口对象,创建了一个日期时间实例,设置了它的ModifiedDate字段,然后执行了context.SaveChanges(),它运行正常。

但是,如果我创建了对象并且没有设置entry.ModifiedDate,则context.SaveChanges()会在约束设置默认值之前失败

1 个答案:

答案 0 :(得分:3)

在您的实体类中,您可以使用以下内容注释ModifiedDate属性:

[DatabaseGenerated(DatabaseGenerationOption.Computed)]
public DateTime ModifiedDate { get; set; }

来自BOL:DatabaseGenerated

  

重要的数据库功能是具有计算能力   属性。如果您将Code First类映射到表   包含计算列,您不希望实体框架尝试   更新这些列。但是你确实希望EF从中返回这些值   插入或更新数据后的数据库。你可以使用   DatabaseGenerated注释,用于标记类中的这些属性   以及Computed enum。