DateTime.Now使用实体数据模型转换为SQLDatetime

时间:2013-02-22 06:07:12

标签: c# sql ado.net-entity-data-model

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

一个特定的列是datetime。

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

  

内部异常: SqlDateTime溢出。必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。

这是我的代码段:

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数据库日期时间格式,但我不能这样做,因为我们的代码标准就是这样使用它。

非常感谢任何有关如何解决问题的建议。

感谢名单。

1 个答案:

答案 0 :(得分:0)

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

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

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

我希望我能帮忙。