Wie kann ich formatieren von Datums-Literale in die dynamische linq?

Ich bin mit dynamic Linq, um die Daten für die user-Eingabe von Suchkriterien. Meine Abfrage ist in Ordnung, mit Ausnahme der vom Benutzer ausgewählten Daten. Mein aktuelle code:

        StringBuilder whereClause = new StringBuilder();

        if (startDate.HasValue || endDate.HasValue)
        {
            DateTime searchStartDate = startDate.HasValue ? startDate.Value : DateTime.MinValue;
            DateTime searchEndDate = endDate.HasValue ? endDate.Value : DateTime.MaxValue;

            whereClause.AppendFormat("Date >= {0} && Date <= {1}",
                searchStartDate.Date.ToUniversalTime(),
                searchEndDate.Date.ToUniversalTime());
        }

        if (whereClause.Length > 0)
        {
            return (from p in this.repository.GetQueryable<Party>() select p)
                .Where(whereClause.ToString())
                .ToList();
        }

Die Abfrage fällt da der Vergleich gemacht wird zwischen einem DateTime-Feld und ein Int32-Feld, d.h. die Abfrage interpretiert hat meine Datums-Literale werden als Integer-zahlen.

Wie soll ich die Formatierung der Daten?

InformationsquelleAutor Val M | 2010-02-18
Schreibe einen Kommentar