我正在使用ASP.NET实体框架,并且尝试创建SqlQuery,但出现此错误:



我的问题是我不知道哪一栏给我带来了麻烦以及如何解决它。这是我的代码。我不认为我正在做的演员表是因为这些是弦乐器。

return View(db.Data.SqlQuery("SELECT ROW_NUMBER() OVER(ORDER BY slotOrder ASC) AS id,
                              concat(a.dateSlot, ' - ', a.timeSlot) as dateSlot,
                              concat(a.dateSlot, '-', a.timeSlot) as timeSlot,
                              COUNT(*) as slotOrder
                              FROM Appointments a
                              LEFT OUTER JOIN dateTimeSlots b
                              ON a.dateSlot = b.dateSlot AND a.timeSlot = b.timeSlot
                              GROUP BY a.dateSlot, a.timeSlot, b.slotOrder
                              ORDER BY b.slotOrder").ToList());

这是我的课:
public class dateTimeSlots
{
    public int id { get; set; }
    [DisplayName("Date")]
    public string dateSlot { get; set; }
    [DisplayName("Time")]
    public string timeSlot { get; set; }
    [DisplayName("Order")]
    public int slotOrder { get; set; }
}

最佳答案

上面的查询返回Int64(long),并将其存储为Int32(int)。找出是哪个数字字段并调整模型。

我的猜测是id就是long,因为它是ROW_NUMBER()

08-28 00:40