Anu*_*nup 42 c# linq asp.net-mvc
执行以下查询时,我收到错误:
从物化的"System.Int32"类型到"System.Double"类型的指定强制转换无效.
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();
Run Code Online (Sandbox Code Playgroud)
的数据类型WorkDay,OnDutyDay并且Holiday是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; }
}
Run Code Online (Sandbox Code Playgroud)
yoh*_*nes 54
我认为数据库表中列的数据类型是Int32您的数据模型double.您需要将数据模型的数据类型更改为int.通过materialized这意味着类型它得到,当它运行在数据库上查询.