C# - 在SQL Server

时间:2015-11-06 00:54:19

标签: c# sql-server datetime

这是我在论坛上的第一篇文章。我无法找到任何能解决问题的帖子。如果您找到了,请回复链接,以便我查看。

我正在尝试使用C#更新SQL Server中的DateTime列。

在第一个控制台应用程序中,我已经创建了一个对象:

    NewCollegeEntities context = new NewCollegeEntities();

    College college = new College();
    college.collegeName = "BCIT";
    college.established = new DateTime(1960, 1, 1);

    context.Colleges.Add(college);
    context.SaveChanges();

现在,在第二个控制台应用程序中,我正在尝试向刚刚创建的对象添加一天:

    NewCollegeEntities context = new NewCollegeEntities();

    College college = (from c in context.Colleges
                       where c.collegeName == "BCIT"
                       select c).FirstOrDefault();


    college.established.Value.AddDays(1);
    context.SaveChanges();

当我运行第二个控制台应用程序时,结果与第一个控制台应用程序-1960,1,1相同。似乎我没有对数据库进行任何更改。

请帮助我了解正在发生的事情以及如何解决这个问题。如果您需要更多信息,请告诉我们!谢谢!

1 个答案:

答案 0 :(得分:3)

这是一种常见的疏忽。 The AddDays() method(以及其他类似的方法)实际上并不会修改您调用它的值。它返回一个新的DateTime ,它具有修改后的值。

只需使用新的DateTime

college.established = college.established.Value.AddDays(1);