1

我正在使用连接到我的 SQLDatabase 的实体数据模型。

一个特定的列是日期时间。

当我将值声明为 Datetime.Now 时,我收到以下错误:

内部异常: SqlDateTime 溢出。必须介于 1753 年 1 月 1 日上午 12:00:00 和 9999 年 12 月 31 日晚上 11:59:59 之间。

这是我的代码片段:

ReworkEntities dbContext = new ReworkEntities();

        Carton carton = new Carton();

        Carton_Details detail1 = new Carton_Details();
        detail1.Detail = "Some Detail Here";
        detail1.DateOfSub = DateTime.Now;

        carton.Carton_Details.Add(detail1);

        dbContext.AddToCartons(carton);
        dbContext.SaveChanges();

我在谷歌上花了一个小时,发现了很多类似的问题,但似乎没有一个对我有用。

他们建议使用 .toSting("M/dd/yyyy H:mmss tt"),我适用于字符串值,但我需要 DateTime 值,并且在将其转换回来时它仍然相同。

也试过 .Parse , .ParseExact 也没有成功。

另一篇文章建议更改 SQL 数据库日期时间格式,但我不能这样做,因为我们的代码标准是这样使用它。

任何有关如何解决问题的建议将不胜感激。

谢谢。

4

1 回答 1

0

我遇到了类似的问题,只需在实体的构造函数中为属性设置一个值,代码如下。

public class Carton_Details
{
    public DateTime DateOfSub { get; set; }

    public Carton_Details()
    {
        this.DateOfSub = DateTime.Now;
    }
}

我希望我有所帮助。

于 2013-02-22T15:01:36.987 回答