2011-09-05 34 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()下面,