2016-06-14 96 views
0

我想比較今天的日期和數據庫中的日期。 今天日期這樣保存在數據庫中:2016年6月14日00:00:00.000執行與數據庫中存儲的日期字段的日期比較

dtTodaysDate是這樣產生的:2016年6月14日上午11點51分09秒

這裏是方法

  public string CheckCreateOneProjectReportPerDay(string strprojectId) 
       { 
        string checkReturnValue = "DoesNotExist"; 
        DateTime dtTodaysDate = DateTime.Now; 

        var checkProjectRec = 
         _objContext.tbl_Project_Status_MSTR.Where(
          s => s.ProjectID == strprojectId && s.StatusDate == dtTodaysDate); 

        if (checkPrjDate.Any()) 
        { 
         checkReturnValue = "RecordExist"; 
        } 

        return checkReturnValue; 
       } 

我試圖用關鍵字包含在下面的查詢,但沒有運氣

  var checkProjectRec = 
         _objContext.tbl_Project_Status_MSTR.Where(
          s => s.ProjectID == strprojectId && s.StatusDate == dtTodaysDate); 

上面的查詢將總是返回什麼,因爲它們不匹配。做這個比較有沒有更好的方法 ?

回答

0

它看起來像你的數據庫列StatusDate只存儲它的DateTime對象的Day,Month和Year。

我會建議改變你的linq查詢來搜索只有dtTodaysDate的值。

試試這個:

var checkProjectRec = 
        _objContext.tbl_Project_Status_MSTR.Where(
         s => s.ProjectID == strprojectId 
          && s.StatusDate.Year == dtTodaysDate.Year 
          && s.StatusDate.Month == dtTodaysDate.Month 
          && s.StatusDate.Day == dtTodaysDate.Day); 

Linq-to-SQL: DateTime Methods可能是值得探討爲好。

+0

謝謝。我會馬上看看它。 – user2320476

相關問題