ASP.NETエンティティフレームワークを使用していますが、SqlQueryを作成しようとしていますが、このエラー:SQLとASP.NETマテリアライズド 'System.Int64'タイプから 'System.Int32'タイプへの指定されたキャストは無効です
The specified cast from a materialized 'System.Int64' type to the 'System.Int32' type is not valid.
私の問題は、どの列が私に問題を与えているのか、どのように修正するのか分かりません。ここに私のコードです。私はそれらが文字列であるので私がやっている私のキャストを考えていない。ここで
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; }
}
それを格納しているモデルクラスは何ですか?それも追加してください。 'id'か' slotOrder'のどちらかがintではなくlongです。おそらく 'id' –
私の質問にクラスを追加しました。 – user979331