gpt4 book ai didi

c# - 从具体化 'System.Int32' 类型到 'System.Double' 类型的指定转换无效

转载 作者:IT王子 更新时间:2023-10-29 03:56:28 26 4
gpt4 key购买 nike

执行以下查询时,出现错误:

The specified cast from a materialized 'System.Int32' type to the 'System.Double' type is not valid.

var data = ctx.tblTO
.Where(m => m.Id == Id)
.GroupBy(m => m.EmployeeId)
.Select(m => new
{
workDay = m.Sum(k => k.WorkDay),
onDutyDay = m.Sum(k => k.OnDutyDay),
holiDay = m.Sum(k => k.Holiday)
})
.FirstOrDefault();

WorkDayOnDutyDayHoliday 的数据类型是double。这里没有Int32,为什么会出现这个错误?

我该如何解决这个错误?

public class TO
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int EmployeeId { get; set; }
public double WorkDay { get; set; }
public double OnDutyDay { get; set; }
public double Holiday { get; set; }
}

最佳答案

我认为您的数据库表中列的数据类型是Int32,但您的数据模型是double。您需要将数据模型的数据类型更改为 intmaterialized 表示它在数据库上运行查询时获得的类型。

关于c# - 从具体化 'System.Int32' 类型到 'System.Double' 类型的指定转换无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32264382/

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