LINQ - 如何将null DateTime插入数据库列?

时间:2011-07-12 01:59:30

标签: linq linq-to-sql

使用LINQ,如何在SQL Server 2008 DateTime列中插入空值?

以下代码插入“1/1/1900 12:00:00 AM”, 但我想插入“NULL”而不是

CreatDate = System.Data.SqlTypes.SqlDateTime.Null

2 个答案:

答案 0 :(得分:6)

确保DB中的列设置为允许NULL并且您的实体属性“CreateDate”定义为“DateTime?CreateDate {get; set;}”。然后,只需设置“CreateDate = null”。

答案 1 :(得分:0)

您的CreateDate属性需要声明Nullable<DateTime>(又名DateTime?)。然后,您可以将Linqed-up对象上的该属性设置为null(不是System.Data.SqlTypes.SqlDateTime.Null,只是普通的旧C#null),您应该得到所需的结果。当然,这假定您的SQL表已正确定义列以允许NULL,并且您对DBML中列的定义也允许它们。