0
我是MVC 3和LIN到SQL的新手,我想通過DataContext從數據庫調用存儲過程'GetAttendance_Sp',我成功地做到了,但現在問題在視圖中,它拋出錯誤:存儲過程不使用Linq to SQL,在視圖
Exception Details: System.InvalidCastException: Unable to cast object of type 'EmployeeAttendance_app.Models.GetAttendance_SpResult' to type 'EmployeeAttendance_app.Models.EmployeeAtd'.
Source Error:
Line 10:
Line 11: <ul>
Line 12: @foreach (EmployeeAttendance_app.Models.EmployeeAtd emp in (IEnumerable<Object>)ViewData.Model)
Line 13: {
Line 14: <li>@emp.EmplName</li>
代碼:
using EmployeeAttendance_app.Models;
namespace EmployeeAttendance_app.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Employee Attendance";
var DataContext = new EmployeeAtdDataContext();
var EmployeeAtd = DataContext.GetAttendance_Sp;
return View(EmployeeAtd);
}
public ActionResult About()
{
return View();
}
}
}
查看:
@foreach (EmployeeAttendance_app.Models.EmployeeAtd emp in (IEnumerable<Object>)ViewData.Model)
{
<li>@emp.EmplName</li>
}
</ul>
前夕ñ雖然我做了同樣的核心選擇查詢和工作正常,但不是爲SP,爲什麼?
解釋爲什麼視圖不適用於SP,但對於簡單選擇查詢,儘管兩者都返回相同的結果集?
幫助將不勝感激 – James
顯然你的sproc返回'GetAttendance_SpResult',你有一個'EmployeeAtd'作爲視圖模型。 –
什麼輸出是由sp給出的,顯示一些sp代碼 –