ASP.NET MVC 5のストアドプロシージャEntity Frameworkを使用してデータベースにデータを挿入したいのですが、SQL Server、しかし、プロシージャを実行するときにVisual Studioで挿入しているときに、そのエラーが発生します。ASP.NET MVC 5のストアドプロシージャの挿入でスカラー変数 "@employeeid"を宣言する必要があります
私のコントローラのコードは次のとおりです。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SaveEntitlement(Entitlement entment)
{
if (!ModelState.IsValid)
{
var viewmodel = new EntitlementViewModel(entment);
return View("EntitlementIndex", viewmodel);
}
if (entment.EntitlementId == 0)
{
var courseList = _dbContext.Entitlement.SqlQuery ("exec APPLIEDDAYS @employeeid,@LeaveTypeId,@LeavePeriodId,@startdate,@enddate", entment.EmployeeId,entment.LeaveTypeId,entment.LeavePeriodId,entment.FromDate.ToShortDateString(),entment.UptoDate.ToShortDateString()).ToList<Entitlement>();
////_dbContext.Entitlement.Add(entment);
_dbContext.SaveChanges();
TempData["msg"] = "Record Saved Successfully!";
}
return RedirectToAction("EntitlementIndex", "LeaveSetup");
}
エラーは次のとおりです。
(OT) '@ startdate'と' @enddate'が日付であることを願っています。次に、文字列ではなくDateTime値を指定します。 –
野生の推測:[MSDNの例](https://msdn.microsoft.com/en-us/library/jj592907.aspx)にはパラメータとして '@ p0'があります。 '@ p0'、' @p1'などをparamの名前として試してみてください。 –
https://stackoverflow.com/questions/4873607/how-to-use-dbcontext-database-sqlquerytelementsql-params-with-stored-procedもご覧ください。 –