我在我的數據庫C#ADO.NET插入新行使用默認值
表項目
ProjectId (int), ProjectName (varchar(50)), ProjectCreationDate(datetime2(7))
專案編號有這個表是身份
項目名是沒有默認值
非空允許 ProjectCreationDate有一個默認綁定(sysdatetime())
我創建一個ADO.NET EDM並嘗試插入表
using (ProjectEntities context = new ProjectEntities()){
Project p = Project{
ProjectName = "ADO"
};
context.Projects.AddObject(p);
context.SaveChanges();
}
問題是ProjectCreationDate列填充了0001-01-01 00:00:00.0000000
而我期待當前時間將由數據庫本身填充。
我有我的數據庫中的其他表與默認值綁定和值將稍後更改一。所以設置StoreGeneratedPattern = "computed"
不是我尋找的解決方案。
任何想法?
我很害怕,但無論如何感謝。我不知道爲什麼ADO.NET不會僅僅在屬性沒有在應用程序端設置的情況下將字段保留爲默認值綁定。 – nobody 2011-02-12 02:15:59
@秦:因爲你可能想在這個字段中放置'null'值。 – LukLed 2011-02-12 02:18:19