gpt4 book ai didi

c# - 获取空错误 LINQ;那么不能使用?

转载 作者:太空狗 更新时间:2023-10-29 23:39:48 25 4
gpt4 key购买 nike

<分区>

我正在尝试在 LINQ 中运行以下命令

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();

但是报错:

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.

我试图在 上添加?? 0;这样:

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;

正如其他帖子中所建议的那样,但这会产生错误:

operator '??' cannot be applied to operands double or int

有什么建议吗?

编辑:我的模型

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; }
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com