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

پیاده سازی عملکرد جستجوگرها را در Entity Framework در ASP.Net MVC Razor
0 0
پیاده سازی عملکرد جستجوگرها را در Entity Framework در ASP.Net MVC Razor

در این مقاله با یک مثال توضیح خواهیم داد که چگونه می توان عملکرد جستجو را با استفاده از Entity Framework در ASP.Net MVC 5 Razor پیاده سازی کرد.
عملکرد جستجو با استفاده از Stored Procedure اجرا می شود که با عبور مقدار پارامتر با استفاده از Entity Framework در ASP.Net MVC 5 Razor فراخوانی می شود.
بانک اطلاعات
در اینجا من از پایگاه داده Northwind استفاده می کنیم. شما می توانید آن را از اینجا دانلود کنید.
پایگاه داده Northwind را بارگیری و نصب کنید
Stored Procedure
شما باید Stored Procedure زیر را در پایگاه داده Northwind ایجاد کنید. Stored Procedure پارامتر 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 ، قدم بعدی وارد کردن Stored Procedure در Model Entity Framework است. برای انجام این کار ، باید بر روی Model Entity کلیک راست کرده و مطابق شکل زیر گزینه Update Model from Database را انتخاب کنید

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

 

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

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

Controller
اکنون Entity Framework پیکربندی شده است و از این رو اکنون می توانیم Controller ایجاد کرده و کدی بنویسیم تا سوابق جدول مشتریان در پایگاه داده Northwind را بارگیری کنیم .
Controller از دو روش  تشکیل شده است :
روش انجام عملیات GET
در داخل روش اقدام Stored Procedure ،  Index با استفاده از عملکرد SearchCustomers ایجاد شده از روش وارد کردن عملکرد که قبلاً انجام شده است ، خوانده می شود.
پارامتر ContactName به صورت رشته خالی منتقل می شود و از این رو کلیه سوابق را از جدول Customers در پایگاه داده Northwind دریافت می کند.
سرانجام لیستی از نام تجاری مشتریان به نمایش داده می شود.
روش انجام عملیات 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 استفاده کنید.

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