大約3天前,一個朋友幫我這個,但我需要重建我的控制器和查看和丟失自動輸入「datetime.now」當客戶端創造一些網絡上的新編譯 我記得那是上一行:1線控制器上自動輸入datetime.now在新紀錄
我來自巴西,對一些語言錯誤對不起我。
大約3天前,一個朋友幫我這個,但我需要重建我的控制器和查看和丟失自動輸入「datetime.now」當客戶端創造一些網絡上的新編譯 我記得那是上一行:1線控制器上自動輸入datetime.now在新紀錄
我來自巴西,對一些語言錯誤對不起我。
首先,請不要將代碼作爲圖像發佈。您的問題本身應該包含所有相關的文字代碼。
這就是說,這裏沒有什麼特別的。如果你想在你的控制器在保存之前設置一個屬性來DateTime.Now
,你只是做是:
foo.CreatedDate = DateTime.Now;
db.Foos.Add(foo);
db.SaveChanges();
但是,它的更好,如果你要與任何頻率要做到這一點,實際使用自定義getter和setter你的財產,以自動處理這個問題:
private DateTime? createdDate;
public DateTime CreatedDate
{
get { return createdDate ?? DateTime.Now; }
set { createdDate = value; }
}
這樣一來,如果屬性尚未明確設置,它會自動返回DateTime.Now
。它被設置後,它將返回任何設置。
最後,您應該避免DateTime.Now
。這個值是當地的服務器時間,並且與任何東西都沒有關係。如果您曾在不同時區的服務器上共同定位您的站點,那麼數據庫中的值很快就會變得毫無意義。您應該始終使用DateTime.UtcNow
,它以UTC返回當前日期和時間,無論本地服務器時間如何,該日期和時間都將始終保持不變。或者,如果您堅持存儲本地時間,請使用DateTimeOffset.Now
,這樣您至少可以使用時區組件。