Unter der Annahme, dass q.Date eine Instanz von Datetime ist, glaube ich nicht, Umwandlung Eine DateTime-Instanz in einem String ist der beste Weg, um Datumsangaben zu vergleichen. Es wäre viel zuverlässiger, DateTime basierend auf Eigenschaften des Objekts zu filtern. Zum Beispiel Jahr, Monat, etc ...
Zum Beispiel, wenn Sie nach dem Jahr in strDate filtern möchten, könnten Sie Folgendes tun.
var d = DateTime.Parse(strDate);
query = query.Where(q => q.Date.Year == d.Year);
Können Sie uns mehr Kontext durch Detaillierung, welche Art von Werten strDate auf diese Weise enthalten würden wir wissen können, was Sie gegen filtern möchten.