Ich versuche, die folgende in LINQNull-Fehler erhalten LINQ; Kann das dann nicht nutzen?
double totalDistance = (from g in db.Logs join
h in db.Races on g.raceId equals h.RaceId
where g.userId == id select h.distance).Sum();
jedoch erhalten einen Fehler auszuführen:
The cast to value type 'Double' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type.
Ich habe versucht, hinzuzufügen, auf ?? 0
; so dass:
double totalDistance = (from g in db.Logs join
h in db.Races on g.raceId equals h.RaceId
where g.userId == id select h.distance).Sum() ?? 0;
Wie in anderen Beiträgen vorgeschlagen jedoch ergibt dies einen Fehler:
operator '??' cannot be applied to operands double or int
Irgendwelche Vorschläge?
EDIT: mein Modell
namespace RacePace.Models
{
public class Race
{
public int RaceId { get; set; }
[DisplayName("Race Setting")]
public string place { get; set; }
[DisplayName("Distance (km)")]
public double distance { get; set; }
[DisplayName("Date")]
public DateTime date { get; set; }
[DisplayName("Commencement Time")]
public DateTime timeStarted { get; set; }
[DisplayName("Active")]
public Boolean active { get; set; }
[DisplayName("Description")]
public string description { get; set; }
[DisplayName("Creator")]
public int UserId { get; set; }
}
}
Ist "Abstand" nullfähig? – mattytommo
Same leider, Nachricht wird dann 'Opperator' ?? kann nicht auf "double" oder "floats" angewendet werden – NickP
Können Sie Ihr Modell zeigen? – Alex