我有一个SQL Server数据库。我的一个表有一个SQL <?xml version="1.0" encoding="UTF-8" ?>
<nodes>
<node>
<name>NODE 1</name>
<value1>
<value1>NODE 1 VALUE 1</value1>
</value1>
<nodes>
<node>
<name>NODE 1 CHILD</name>
<value1>NODE 1 CHILD VALUE 1</value1>
</node>
</nodes>
</node>
<node>
<name>NODE 2</name>
<value1>NODE 2 VALUE 1</value1>
</node>
</nodes>
列。
我知道Elements elements = data.select("nodes > node");
不可为空。 DATETIME
的默认值为1/1/0001,而SQL Server的最小值为1/1/1753。
Why when I insert a DateTime null I have "0001-01-01" in SQL Server?
所以,我的问题是这样做的正确方法是什么?如何将DateTime
设置为SQL Server的最小值(1/1/1753)。
datetime2
答案 0 :(得分:0)
如果您希望日期不可为空,那么是的,您所拥有的是最好的方式。 EF总是将值传递给该字段,所以如果不这样做,它将尝试传入1/1/0001并输出错误。
您不必每次都定义它,而是可以创建一个静态类:
public static DateTime MinDate()
{
return new DateTime(1753, 1, 1);
}
如果你想标准化它。
另一个选项是使列可以为空,并且无论何时查询日期,当SQL返回时,SQL都会返回1/1/1753。