如何检查默认SQL DateTime值C#

时间:2019-02-18 03:59:27

标签: c# sql-server datetime

我在表中添加了新的DateTime列。在使用具有现有数据的数据库运行应用程序之后,它使用代码优先迁移,Entity Framework和SQL Server成功创建了新的DateTime类型列(不可为空)。

但是该列的默认值为1900-01-01 00:00:00.000。我无法在代码中检查相同的内容。我尝试了DataTime.MinValueSystem.Data.SqlTypes.SqlDateTime.MinValue.Value,但是这些值是不同的并且不相同。

是否存在一种标准方法来比较所有数据库中的默认DateTime值? OR 是否可以在模型中声明DateTime类型变量的默认值?

模型中列的声明:

public DateTime AddedOn { get; set; }

1 个答案:

答案 0 :(得分:0)

比较两个日期时间值的一种方法是使用时间跨度。因此,您可以使用以下代码:

TimeSpan span = dateTimeFromDatabase - defaultDateTime;

if (span == TimeSpan.Zero)
// both are same.

您可能想将数据库中的日期时间转换为默认的SqlDateTime,然后进行不同操作以获取TimeSpan。