Ein Datum in Linq zu Entitäten hinzufügen

8

Mit Linq to Entities versuche ich eine Log-Tabelle abzufragen, um Zeilen in der Nähe einer passenden Zeile zu finden. Ich habe Probleme mit dem Hinzufügen eines Datums innerhalb der Abfrage. Das ist was ich bisher habe.

%Vor%

Wenn ich die "was auch immer" Bedingung, die die Zeile interessiert, finde, ist "twoHours" variabel eine Zeitspanne, eine .AddHours() -Funktion und so weiter. Ich habe den richtigen Weg nicht gefunden, dass EF SQL erzeugen kann, das den Wert von einem Feld (match.Timestamp) zu einer Konstante hinzufügt.

Die offensichtliche Lösung besteht darin, zuerst die "Übereinstimmungs" -Abfrage zu machen und dann den Literalwert in einer zweiten Abfrage zu verwenden, aber ich habe das Codebeispiel hier auf das Hauptproblem (Hinzufügen von Datumsangaben in der Abfrage) und in Wirklichkeit mein vereinfacht Abfrage ist komplexer und das wäre nicht ideal.

Prost

    
Craig Celeste 03.11.2010, 14:42
quelle

3 Antworten

11

Sie können AddHours mit der EntityFunctions Klasse .

%Vor%

Allerdings , erwarten Sie nicht, dass WHERE mit einem Index optimiert wird, es sei denn, Sie haben einen Ausdrucksindex für die Spalte.

    
Craig Stuntz 03.11.2010, 16:44
quelle
3

EntityFunctions wird zugunsten von DbFunctions

abgelehnt %Vor%     
Oswaldo Alvarez 04.09.2014 00:21
quelle
-1

Wie in diesem Artikel beschrieben - Ссылка , verwenden Sie Parameter (Variable deklarieren) anstelle von DateTime in Ihren Abfragen verwenden.

    
JackD 17.12.2010 12:21
quelle

Tags und Links