توضیحات و دانلود

Stored Procedure با استفاده از Entity Framework در ASP.Net MVC
0 0
Stored Procedure با استفاده از Entity Framework در ASP.Net MVC

با سلام در این مقاله یک آموزش ساده را با یک مثال توضیح می دهیم که چگونه می توان Stored Procedure را با استفاده از Entity Framework در ASP.Net MVC 5 Razor فراخوانی کرد.
Procedure Stored با عبور مقدار پارامتر با استفاده از Entity Framework در ASP.Net MVC 5 Razor فراخوانی می شود.
بانک اطلاعات
در اینجا از پایگاه داده Northwind استفاده می کنیم. شما می توانید آن را از لینک زیر دانلود کنید.
پایگاه داده Northwind را بارگیری و نصب کنید
 Procedure Stored
شما باید Procedure Stored زیر را در پایگاه داده Northwind ایجاد کنید. Procedure Stored پارامتر ContactName را که برای انجام جستجو در سوابق موجود در جدول مشتریان استفاده می شود ، می پذیرد.

CREATE PROCEDURE Customers_SearchCustomers
      @ContactName NVARCHAR(30)
AS
BEGIN
      SET NOCOUNT ON;
      SELECT *
      FROM Customers
      WHERE ContactName LIKE '%' + @ContactName + '%'
END

پیکربندی و اتصال Entity Framework به پایگاه داده
برای اتصال به پایگاه داده ، باید Entity Framework را پیکربندی کنید.
پس از پیکربندی Entity Framework ، قدم بعدی وارد کردن Procedure Stored در Model Entity Framework است. برای انجام این کار ، باید بر روی Model Entity کلیک راست کرده و مطابق شکل زیر گزینه Update Model from Database را انتخاب کنید.

مرحله بالا Update Wizard را باز می کند که در آن شما باید Stored Procedure را انتخاب کرده و روی Finish کلیک کنید.

حال باید روش Stored Procedure را به Entity Framework وارد کنیم تا بتوان آن را به عنوان یک تابع با استفاده از Entity Framework ایجاد کرد.
بنابراین با کلیک راست بر روی Entity Model ، بر روی Add و سپس بر روی Function Import کلیک کنید .

با این کار پنجره گفتگوی Add Function Import باز می شود. در اینجا ابتدا باید Function Import Name  را مشخص کنید که نام عملکردی است که برای فراخوانی Stored Procedure استفاده می شود و سپس Stored Procedure را که هنگام فراخوانی تابع اجرا می شود ، انتخاب می کنید.
نوع Return به عنوان شی انتخاب می شود که کلاس Customer Entity است.

 

Controller
اکنون Entity Framework پیکربندی شده است و از این رو اکنون می توانیم Controller ایجاد کرده و کدی بنویسیم تا سوابق جدول مشتریان در پایگاه داده Northwind را دانلود کنیم .
Controller از دو روش تشکیل شده است.
روش انجام عملیات GET
در داخل روش اقدام Stored Procedure ، Index با استفاده از عملکرد SearchCustomers ایجاد شده و از روش وارد کردن عملکرد که قبلاً انجام شده است ، خوانده می شود.
پارامتر ContactName به صورت رشته خالی منتقل می شود و از این رو کلیه سوابق را از جدول Customers در پایگاه داده Northwind دریافت می کند.
سرانجام لیستی از نام تجاری مشتریان به View برگشت داده می شود.
روش انجام عملیات POST
با ارسال فرم ، مقدار Customer Name TextBox از این روش Action ارسال می شود و مقدار آن به عنوان پارامتر به تابع SearchCustomers منتقل  و لیست افراد مشتری به View باز می گردد.

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        NorthwindEntities entities = new NorthwindEntities();
        return View(entities.SearchCustomers(""));
    }
 
    [HttpPost]
    public ActionResult Index(string customerName)
    {
        NorthwindEntities entities = new NorthwindEntities();
        return View(entities.SearchCustomers(customerName));
    }
}

View
در داخل View، در همان خط اول ، نهاد مشتری به عنوان IEnumerable اعلام می شود که مشخص می کند که آن به عنوان یک مجموعه در دسترس خواهد بود.
نمایش Viewیک فرم HTML است که با استفاده از روش Html.BeginForm با پارامترهای زیر ایجاد شده است.
ActionName - نام عمل در این حالت Index است.
ControllerName - نام Controller در این حالت Home است.
FormMethod - این روش فرم یعنی GET یا POST را مشخص می کند. در این حالت روی POST تنظیم می شود.
در داخل View، یک TextBox با استفاده از عملکرد Html.TextBox HTML Helper ایجاد می شود و یک دکمه ارسال وجود دارد که با کلیک بر روی ، فرم ارسال می شود.
برای Viewسوابق از جدول HTML استفاده می شود. یک حلقه بر روی Model اجرا خواهد شد که ردیف های جدول HTML را با سوابق مشتری ایجاد می کند.

@model IEnumerable<Entity_Framework_Stored_Proc_MVC.Customer>
 
@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width"/>
    <title>Index</title>
</head>
<body>
    @using (Html.BeginForm("Index", "Home", FormMethod.Post))
    {
        <span>Customer Name:</span> @Html.TextBox("CustomerName")
        <input type="submit" value="Search"/>
        <br/>
        <br/>
        <table cellpadding="0" cellspacing="0">
            <tr>
                <th>CustomerID</th>
                <th>ContactName</th>
                <th>City</th>
                <th>Country</th>
            </tr>
            @foreach (Customer customer in Model)
            {
                <tr>
                    <td>@customer.CustomerID</td>
                    <td>@customer.ContactName</td>
                    <td>@customer.City</td>
                    <td>@customer.Country</td>
                </tr>
            }
        </table>
    }
</body>
</html>

عکسهای صفحه
 نمایش شبکه همه سوابق

 

 نمایش شبکه سوابق فیلتر شده


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :