EF Linq Product Sum, wenn keine Datensätze zurückgegeben wurden

8

Ich habe Variationen dieser Frage überall gesehen, aber keine der Antworten funktioniert für mich. Die meisten von ihnen versuchen nur eine einzelne Spalte zu summieren - nichts Komplexeres wie die Summe eines Produkts wie folgt:

%Vor%

Wenn keine Zeilen zurückgegeben werden, möchte ich Null zurückgeben. Wenn jedoch keine Zeilen zurückgegeben werden, schlägt die .Sum () fehl. Es gibt verschiedene Möglichkeiten zu versuchen, Convert.ToDouble einzufügen und null Coalesce-Operatoren zu verwenden, aber sie alle gaben mir immer noch Fehler.

Ich bin mir sicher, dass mir ein einfacher Weg fehlt, um dies zu tun - jede Hilfe, die nach zu langem Hämmern gegen Google Brick Wall sehr geschätzt wird!

    
user1622713 25.11.2012, 10:07
quelle

1 Antwort

13

Entfernen Sie DefaultIfEmpty() operator. Cast Sum result auf Nullable type. Verwenden Sie dann den Nullkoaleszenzoperator, um den Standardwert zurückzugeben, wenn die Abfrage null

zurückgegeben hat %Vor%

Erzeugtes SQL sieht wie folgt aus:

%Vor%     
Sergey Berezovskiy 25.11.2012, 10:15
quelle

Tags und Links