2016-06-14 4 views
0

Ich versuche, das heutige Datum mit einem Datum in der Datenbank zu vergleichen. Todays Datum wird in der Datenbank wie folgt gespeichert: 2016.06.14 00: 00: 00.000Durchführen eines Datumsvergleichs mit einem in der Datenbank gespeicherten Datumsfeld

dtTodaysDate wie folgt generiert: 2016.06.14 11.51.09

Hier ist die Methode,

  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; 
       } 

ich habe versucht, das Schlüsselwort enthält in der Abfrage unten zu verwenden, aber ohne Glück

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

die Abfrage oben immer nichts zurück, weil sie nicht übereinstimmen. Gibt es einen besseren Weg diesen Vergleich zu machen?

Antwort

0

Offenbar speichert Ihre Datenbankspalte StatusDate nur den Tag, den Monat und das Jahr ihres DateTime-Objekts.

Ich würde empfehlen, Ihre LINQ-Abfrage zu ändern, um nur nach diesen Werten von dtTodaysDate zu suchen.

Geben Sie diesen einen Versuch:

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 könnte einen Blick in als auch wert sein.

+0

Danke. Ich werde gleich nachsehen. – user2320476

Verwandte Themen