2015-11-06 63 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);