这是我在论坛上的第一篇文章。我无法找到任何能解决问题的帖子。如果您找到了,请回复链接,以便我查看。
我正在尝试使用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 :(得分:3)
这是一种常见的疏忽。 The AddDays()
method(以及其他类似的方法)实际上并不会修改您调用它的值。它返回一个新的DateTime
,它具有修改后的值。
只需使用新的DateTime
:
college.established = college.established.Value.AddDays(1);