0
ich diese Linq erstellen müssen alle Zeilen von tabRealisation
zu bekommen links tabPrevision
let
mit beitreten und Group.FirstOrDefault
Vb Linq „Der Wert darf nicht Null sein“ mit Group.FirstOrDefault
Dim query1 =
(From r In tabRealisation.AsEnumerable
Group Join p In tabPrevision.AsEnumerable
On r.Field(Of Integer)("code_part") Equals p.Field(Of Integer)("code_part")
Into Group
Let p = Group.FirstOrDefault
Where r.Field(Of Integer)("code_part") = 276
Select an = r.Field(Of Integer)("Annee"),
code_part = r.Field(Of Integer)("code_part"),
Designation_part = r.Field(Of String)("Designation_part"),
NbrR = r.Field(Of Integer?)("UniteVendu"),
EncP = p.Field(Of Double?)("CAEncaissVentePrev"),
RecP = p.Field(Of Double?)("MontantRecouvrementPrev")
).ToList
Aber wenn p enthält nicht jede Zeile ich bekomme den Fehler:
Der Wert kann nicht null sein. Ich habe dies versucht:
RecP = If(p.Field(Of Double?)("MontantRecouvrementPrev").Equals(DBNull.Value)
, 0, p.Field(Of Double?)("MontantRecouvrementPrev")),
aber ich bekomme die gleiche Fehlermeldung. keine Hilfe, bitte
'FirstOrDefault' verhindert nur, dass eine Ausnahme ausgelöst wird, wenn keine Elemente zurückgegeben werden. Sie müssen nachher noch überprüfen, ob der zurückgegebene Wert 'Nichts' ist –