我有以下db表的人定義爲使用無法從網絡API POST發佈數據時,方法
[PersonId] INT NOT NULL PRIMARY KEY IDENTITY,
[FirstName] VARCHAR(50),
[MiddleName] VARCHAR(50),
[LastName] VARCHAR(50),
[DOB] DATETIME,
[EmailAddress] VARCHAR(100),
[CreatedDt] DATETIME NOT NULL DEFAULT getDate(),
此表在Web API項目相應的模型設定DB列的默認值EF 5.0是
public int personId { get; set; }
public string firstName { get; set; }
public string middleName { get; set; }
public string lastName { get; set; }
public Nullable<System.DateTime> dob { get; set; }
public string emailAddress { get; set; }
public System.DateTime createdDt { get; set; }
我使用EF代碼首先獲取和設置JSON格式的值。 POST(創建新人員)生成錯誤{「將datetime2數據類型轉換爲日期時間數據類型導致超出範圍值。\ r \ n聲明已終止。」}
然後,我將Db列更改爲[CreatedDt] **DATETIME2** NOT NULL DEFAULT getDate(),
,但是現在將CreatedDt保存爲01/01/0001,這不是我想要的。我希望將日期設置爲當前數據庫日期。
當我嘗試從模型中傳遞CreatedDt值爲NULL時,它仍然不起作用(因爲此列不允許有空值)。你能幫我把這個CreatedDt列的值設置爲getDate(),它是在數據庫的列定義中定義的。我需要設置當前數據庫日期,因此我無法從Web API POST方法傳遞當前日期。
如果有幫助,你可以查看這篇文章:http://stackoverflow.com/a/14246660/1184056 –