Как вызывать и выполнять хранимые процедуры в ASP.Net MVC (C #)
Добрый день, ребята, я здесь в подвешенном состоянии. Я создал свою базу данных, модель, контроллер и представление в Visual Studio, используя ASP.NET MVC и C #, но я не могу понять, как вызвать хранимую процедуру, которую я создал.
Я хочу, чтобы хранимая процедура вызывалась на кнопке, которую я разместил в своем представлении. Эта хранимая процедура должна выполняться и отображать результаты при нажатии кнопки. Ниже представлены сохраненная процедура, вид, модель и контроллер, которые я создал.
Это моя модель «Сотрудник»:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentM,odel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace MVCSimpleApp.Models
{
[Table("Employees")]
public class Employee
{
[Display(Name ="Employee Id")]
public int EmployeeId { get; set; }
[Display(Name ="First Name")]
public string FirstName { get; set; }
[Display(Name ="Last Name")]
public string LastName { get; set; }
}
}
Это мой контекст данных:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace MVCSimpleApp.Models
{
public class EmployeeContext : DbContext
{
public DbSet<Employee> Employee { get; set; }
}
}
Это мой Контролер Сотрудника:
using MVCSimpleApp.Models;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
namespace MVCSimpleApp.Controllers
{
public class EmployeeController : Controller
{
private EmployeeContext db = new EmployeeContext();
// GET: Employee
public ActionResult Index()
{
var employees = from e in db.Employee select e;
return View(employees);
}
}
}
А теперь это моя Хранимая процедура. Это не так много, просто что-то для практических целей.
Create Proc DisplayStudents
AS
BEGIN
/*selecting all records from the table whose name is "Employee"*/
Select * From Employee
END
Это мой взгляд:
@model IEnumerable<MVCSimpleApp.Models.Employee>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Student List</h2>
<p>
<a href="@Url.Action("Create")" title="Add new" class="btn btn-primary btn-lg">
<span class="glyphicon glyphicon-plus "></span>
Add Student
</a>
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.EmployeeId)
</th>
<th>
@Html.DisplayNameFor(model => model.FirstName)
</th>
<th>
@Html.DisplayNameFor(model => model.LastName)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(model => item.EmployeeId)
</td>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
<span>
<a href="@Url.Action("Edit", new { id = item.EmployeeId})" title="Edit Record">
<span class="glyphicon glyphicon-pencil"></span>
</a>
</span>
|
<span>
<a href="@Url.Action("Details", new { id = item.EmployeeId})" title="View Details">
<span class="glyphicon glyphicon-th-list"></span>
</a>
</span>
|
<span>
<a href="@Url.Action("Delete", new { id = item.EmployeeId})" title="Delete">
<span class="glyphicon glyphicon-trash"></span>
</a>
</span>
</td>
</tr>
}
/*this is the button I want the stored procedure to be called on when I click it*/
<button>Run</button>
</table>
Пожалуйста, ребята, мне нужны ваши мнения и отзывы по этому вопросу. Примет советы по передаче параметров хранимой процедуры. Пожалуйста, поправьте меня, если я не делаю вещи прямо здесь. Спасибо за вашу заботу.