2011-09-05 72 views
1

我有一个外地在我的模型类象下面这样:EF代码优先日期字段等于当前时间

[ScaffoldColumn(false)] 
public DateTime DatePosted { get; set; } 

我想这个字段默认设置为DateTime.Now,除非这个值是给定的。在MSSQL服务器中,通过将日期字段的属性“默认值或绑定”设置为getdate(),可以在表设计视图中实现此功能 - 我认为,如果我错了,请纠正我的错误。

回答

2

,你可以在你的模型类的构造函数中设置默认值,

public YourModel(){ 
    this.DatePosted =DateTime.Now; 
} 
+0

这将使他与对象的创建日期,而不是日期的日期时间它保存在数据库中 –

+0

@GabrielMonteiroNepomuceno然后我们可以通过在数据库上下文中重写SaveChanges方法来完成。在该方法中获取创建的对象并更新其DatePosted。 http://stackoverflow.com/questions/6156818/entity-framework-4-1-dbcontext-override-savechanges-to-audit-property-change –

0

我们如何才能增加一个DB contraint做做到这一点。

一些东西,会做的SQL

[dateCreated会] [日期时间] NOT NULL DEFAULT GETDATE()下面,