2015-11-06 52 views
2

这是我在论坛上的第一篇文章。我无法找到任何回复我的问题的帖子。如果你确实找到了,请回复链接,以便我们看看它。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相同。看起来好像我没有对数据库进行任何更改。

请帮我理解发生了什么事以及如何解决这个问题。如果您需要更多信息,也请告诉我!谢谢!

+0

你有没有尝试过这样的:'college.established = college.established.Value.AddDays(1);' –

回答

3

这是一个普遍的疏忽。 The AddDays() method(和其他类似的方法)实际上并未修改您调用它的值。它返回一个新的DateTime它具有修改后的值。

只需使用新DateTime

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