2012-03-30 93 views
-1

我正在使用EF,並且有必要從數據庫更新日期的情況。將DateTime格式化爲SQL

public DateTime? DatePosted { get; set; } 

這是我必須更新數據庫中的字段。但我的問題是它不會更新。我有我必須使用數據庫日期時間格式是這樣使用正確的格式的感慨:

yyyy-mm-dd hh:mm:ss 

問題是如何我強迫我的日期時間與上述規定有相同的模式?我不想將它轉換爲字符串,因爲它不會在我的實體中具有相同的數據類型。

+1

數據庫中的字段是Datetime還是varchar? – 2012-03-30 04:09:01

+1

DateTime是DateTime,因此不需要格式化。如果您選擇它,SQL服務器可能會以不同的方式顯示它,但它仍然保持值的完整性。 – TGH 2012-03-30 04:12:28

+1

請不要用「C#」等標題來標題。這就是標籤的用途。 – 2012-03-30 04:13:36

回答

2

很難回答,但沒有看到你在做什麼,但通常如果你只是做一些像 DatePosted=DateTime.Now;-它應該工作和更新您的記錄在數據庫中。

如果沒有比問題是最喜歡的不是格式化

+0

你是對的。這不是格式。該屬性是數據庫計算。將爲此尋找解決辦法。 – mabc21 2012-03-30 06:41:49

2

DateTime數據類型保存日期和時間。它不包含格式化的字符串。

您的問題與格式不符。確切地說,你的意思是「它不會更新」?

2

無論如何(作爲日期和時間),數據庫都存儲datetime。只有當你出於輸出原因而使用它時,它纔會有不同的格式。你應該仔細檢查你的數據庫列是否設置爲日期時間。這是我能看到這不會更新的唯一原因。那或者你有這種映射在Ef不更新。

否則,您需要發佈您正在嘗試執行的示例代碼

相關問題