2011-07-12 51 views
3

使用LINQ,我如何在SQL Server 2008 DateTime列中插入空值?LINQ - 如何將空日期時間插入數據庫列?

下面插入 「1/1/1900 12:00:00 AM」, 代碼,但我想插入 「NULL」,而不是

CreatDate = System.Data.SqlTypes.SqlDateTime.Null 
+0

您是否確認該列是無效的? – Mike

+0

是,不爲null –

+0

嘗試'CreatDate = null'或'DBNull'而不是'SqlDateTime.Null' –

回答

6

確保DB中的列被設置爲允許NULL,並且您的實體屬性「CreateDate」被定義爲「DateTime?CreateDate {get; set;}」。然後,只需設置「CreateDate = null」。

0

CreateDate屬性需要聲明Nullable<DateTime>(又名DateTime? )。然後,您可以將您的Linqed-up對象上的該屬性設置爲null(而不是System.Data.SqlTypes.SqlDateTime.Null,只是普通的舊C#null),並且您應該得到期望的結果。這當然假定你的SQL表有正確定義的列來允許NULL,並且你對DBML中列的定義也允許它們。

相關問題