Casablanca: Date - Vergleich

Beitrag lesen

Hallo Form,

ich muss euch leider noch einmal um Hilfe bitte.
Ich arbeite mit Dynamic Linq und muss da zwei Daten miteinander vergleichen. Das erste Datumkommt aus der Datenbank und sieht so aus "2014-07-31 03:12:00.000". Das Zweite Datum bekomme ich von den Benutzern und sieht es so uas "01.08.2014".

Die aus meinem Linq erzeuget SQL-Anweisung sieht so aus:

  
SELECT  
[Extent1].[MyId] AS [MyId],  
[Extent1].[TimeStamp] AS [TimeStamp],  
[Extent1].[Name] AS [Name]  
FROM [dbo].[MyTable] AS [Extent1]  
WHERE (249 = [Extent1].[MyId]) AND ((DATEPART (year, [Extent1].[TimeStamp])) >= 2014) AND ((DATEPART (year, [Extent1].[TimeStamp])) <= 2014) AND  
((DATEPART (month, [Extent1].[TimeStamp])) >= 7) AND ((DATEPART (month, [Extent1].[TimeStamp])) <= 8) AND ((DATEPART (day, [Extent1].[TimeStamp])) >= 31) AND  
((DATEPART (day, [Extent1].[TimeStamp])) <= 2)  
ORDER BY [Extent1].[TimeStamp] ASC  

Das ganze funktionier auch einwandfrei, solange die Daten innerhalb eines Monats liegen. Wenn aber die Daten montasübergreifend sind, wie der letzte Teil der SQL-Anweisung oben zeigt,

  
((DATEPART (day, [Extent1].[TimeStamp])) >= 31) AND  
((DATEPART (day, [Extent1].[TimeStamp])) <= 2)  

bricht dann alles zusammen, also kein Ergebniss wird zurückgeliefert. Der Tag kann nicht größer 31 und kleiner 2 sein.

Gibt es einen anderen Weg, die Daten zu vergleichen.

Danke im Voraus.