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

دریافت شناسه آخرین رکورد درج شده را با استفاده از Entity Framework در ASP.Net MVC
0 0
دریافت شناسه آخرین رکورد درج شده را با استفاده از Entity Framework در ASP.Net MVC

در این مقاله با یک مثال توضیح خواهم داد که چگونه می توانیم ID آخرین رکورد درج شده را با استفاده از Entity Framework در ASP.Net MVC Razor دریافت کنیم.
با ارسال فرم ، مقدار فیلدهای فرم ارسال شده با استفاده از شی کلاس کلاس Entity Framework Model گرفته می شود و با استفاده از Entity Framework در بانک اطلاعاتی درج می شود . پس از درج موفقیت آمیز ، شناسه آخرین ضبط درج شده با استفاده از SCOPE_IDENTITY با استفاده از جعبه پیام هشدار جاوا اسکریپت نمایش داده می شود .
چارچوب Entity به طور پیش فرض داخلی از SCOPE_IDENTITY برای واکشی شناسه آخرین سابقه درج شده استفاده می کند.
توجه : برای مبتدیان در ASP.Net MVC و Entity چارچوب ، لطفاً مقاله خود را به عنوان مثال ASP.Net MVC: آموزش چارچوب نهادهای ساده مراجعه کنید . این کلیه اطلاعات مورد نیاز برای اتصال و پیکربندی چارچوب شخصیت را در بر می گیرد .
 
بانک اطلاعات
من از جدول زیر مشتریان با طرح به شرح زیر استفاده کرده ام. CustomerId یک ستون افزایش خودکار (هویت) است.

قبلاً چند رکورد در جدول وارد کرده ایم

توجه :

می توانید جدول بانک اطلاعاتی SQL را با کلیک روی لینک بارگیری در زیر بارگیری کنید. فایل SQL را بارگیری کنید

Entity Framework Model
پس از پیکربندی و تبدیل شدن به Entity Framework در جدول پایگاه داده ، Model مطابق شکل زیر ظاهر خواهد شد.

Controller
Controller از دو روش  تشکیل شده است :
روش انجام عملیات GET
در داخل این روش Action ، به سادگی نمایش داده می شود.
روش انجام عملیات POST
متد Action برای عملیات POST یک شیء از کلاس  Entity Framework Customer Model را به عنوان پارامتر می پذیرد . مقادیر ارسال شده از فرم در داخل View از طریق این پارامتر دریافت می شود.
مقادیر دریافت شده سپس با استفاده از Entity Framework در جدول پایگاه داده SQL Server وارد می شوند .
رکورد مندرج در CustomerId در شی Entity Framework Customer Model  بعد از روش SaveChanges اجرا می شود .
شی  Entity Framework Customer Model  به قسمت View برگشت داده می شود.

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        return View();
    }
 
    [HttpPost]
    public ActionResult Index(Customer customer)
    {
        using (CustomerEntities entities = new CustomerEntities())
        {
            entities.Customers.Add(customer);
            entities.SaveChanges();
            int id = customer.CustomerId;
        }
        return View(customer);
    }
}

View
در داخل View ، در اولین خط کلاس مشتری روش Entity Framework به عنوان Model برای View اعلام می شود.
View شامل یک فرم HTML است که با استفاده از روش Html.BeginForm با پارامترهای زیر ایجاد شده است.
ActionName - نام عمل در این حالت Index است.
ControllerName - نام Controller در این حالت Home است.
FormMethod - این روش فرم یعنی GET یا POST را مشخص می کند. در این حالت روی POST تنظیم می شود.
یک قسمت TextBox وجود دارد که برای گرفتن مقدار برای Name با استفاده از روش Html.TextBoxFor ایجاد شده است. در حالی که برای گرفتن مقدار کشور ، یک گزینه DropDownList با Country با استفاده از عملکرد Html.DropDownListFor ایجاد می شود.
همچنین در انتهای فرم یک دکمه ارسال وجود دارد و وقتی دکمه کلیک می شود ، فرم ارسال می شود.
پس از ارسال فرم ، شیء Entity Framework Customer Model  بازگشتی از Controller برای NULL بررسی می شود و اگر NULL نباشد ، CustomerId تازه وارد شده با استفاده از JavaScript Alert MessageBox نمایش داده می شود .

@model EntityFramework_Insert_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))
    {
        <table cellpadding="0" cellspacing="0">
            <tr>
                <th colspan="2" align="center">Customer Details</th>
            </tr>
            <tr>
                <td>Name: </td>
                <td>
                    @Html.TextBoxFor(m => m.Name)
                </td>
            </tr>
            <tr>
                <td>Country: </td>
                <td>
                    @Html.DropDownListFor(m => m.Country, new List<SelectListItem>
                   { new SelectListItem{Text="India", Value="India"},
                     new SelectListItem{Text="China", Value="China"},
                     new SelectListItem{Text="Australia", Value="Australia"},
                     new SelectListItem{Text="France", Value="France"},
                     new SelectListItem{Text="Unites States", Value="Unites States"},
                     new SelectListItem{Text="Russia", Value="Russia"},
                     new SelectListItem{Text="Canada", Value="Canada"}},
                     "Please select")
                </td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="Submit"/></td>
            </tr>
        </table>
    }
 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    @if (Model != null)
    {
        <script type="text/javascript">
            $(function () {
                alert("Inserted Customer ID: " + @Model.CustomerId);
            });
        </script>
    }
</body>
</html>

عکسهای صفحه
فرم

بعد از درج داده ها CustomerId نمایش داده می شود .

 


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

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