使用DateTime.Now + LINQ to SQL时SQL DateTime溢出

时间:2010-10-12 13:19:20

标签: linq-to-sql datetime

尝试使用LINQ

向表中添加新项时,我收到一个奇怪的错误

错误:SqlDateTime溢出。必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。

代码:

dbc.TblEvent newEvent = new dbc.TblEvent();
        newEvent.Subject = "Registered";
        newEvent.PersonID = PersonId;
        newEvent.EventDate = DateTime.Now;
        newEvent.EventTypeID = 23;
        newEvent.EventStatusID = 10;
        context.TblEvents.InsertOnSubmit(newEvent);

正如你所看到的,我没有做任何令人兴奋的事情。 我该怎么办呢?

2 个答案:

答案 0 :(得分:5)

在linq中发生日期时间溢出的100次中有99次发生,因为未设置日期。 DateTime的默认值低于sql可以处理的最低日期。

检查所有作业。你在表中缺少另一个日期时间字段吗?

答案 1 :(得分:0)

另一种解决方案:将查询从“左联接”更改为“内联接”,从而使以前为空的datetime字段变为非空。 需要从.dbml中删除表,然后重新添加表以刷新模型。