【发布时间】:2013-05-17 13:21:48
【问题描述】:
我尝试在我的数据库中为键入“日期”的字段插入值 null (DateTime),但我总是得到一个 '0001-01-01'。我不明白,这个字段“允许空值”,我不知道为什么我有这个默认值。
我正在使用 C# asp .net 和 MVC(实体框架),这是我的代码:
Budget_Synthesis newBS = new Budget_Synthesis
{
Budget_Code = newBudgetCode,
Last_Modified_Date = null
};
db.Budget_Synthesis.AddObject(newBS);
Last_Modified_Date 的类型是 System.DateTime?所以我不知道他们为什么改变这个'null'。
如果我尝试在我的应用程序上显示该值,我会得到 01/01/0001 00:00:00
和0001-01-01 使用 SSMS
谁能解释一下为什么我不能得到一个真正的“NULL”?
最好的问候
【问题讨论】:
-
请出示您的代码
-
您正在将 null datetime 的 c# 值插入到 sqldatetime 字段中?
-
你是如何插入的?这很重要。很多。
-
sql server 甚至不能存储 0001-01-01; sql server 中的最小值是 1753 年 1 月 1 日。你在哪里看到这个 0001-01-01,究竟?
-
最新编辑:您展示了一些代码,将对象添加到看起来是某种 ORM 的对象中。正确的;我们到了某个地方......这是什么ORM?那是什么
AddObject?这一切是如何配置的?你没有告诉我们的是所有这些是如何进入数据库的......
标签: c# sql sql-server null default