3
一個簡單的情況,但想不到一個簡單的解決方案。
我有一個表在我的MSSQL數據庫(簡體):
tbUsers通過實體框架插入實體到具有默認值列的表
[ID] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [nvarchar](25) NOT NULL,
[DateCreated] [datetime2](7) NOT NULL default GETDATE()
而且我有一個從數據庫中生成一個實體框架模型,創建一個用戶POCO類我。
我想實現的是,使用我的數據庫上下文這樣
db.Users.Add(new User { Name = "Rony" });
db.SaveChanges();
時,會生成具有dateCreated會設置爲當前的日期&時間一排。現在發生的情況是,當創建User
對象時,DateCreated
屬性默認爲DateTime.MinValue
,然後db中的行也具有此值。
我想,執行的查詢是:
INSERT INTO dbo.tbUsers
([Name]
,[DateCreated])
VALUES
(''
,'0001-01-01 00:00:00.0000000')
但應該是:
INSERT INTO dbo.tbUsers
([Name])
VALUES
('')
上實現任何幫助,將不勝感激。
謝謝。這是我正在尋找的方向,但遺憾的是,當我想更新記錄並將DateCreated設置爲其他內容時,它並不能解決這種情況。我知道這個例子中的DateCreated不應該被更新,但是例如讓我們考慮一個「IsVerified」列,它的創建默認爲false,但將來可能會在用戶通過電子郵件驗證時更改爲true。 – RonLut
你有什麼想法嗎? – RonLut