Tuesday, March 5, 2019

ASP.NET MVC என்டைட்டி ஃப்ரேம் ஒர்க் பயன்படுத்தி CRUD ஆபரேசன்கள்



என்டைட்டி ஃப்ரேம் ஒர்க் பயன்படுத்தி டேட்டா பேஸ் டேபிள்களில் கிரியேட், ரிடிரைவ், அப்டேட், டெலீட் போன்ற ஆபரேசன்கள் எந்த வித நிரலாக்க வரிகளும் இன்றி செய்யலாம்.
முதலில் sql சர்வரில் ஒரு டேட்டா பேஸ் உருவாக்கி (MyDb) அதில் Person என்று ஒரு டேபிளை உருவாக்கவும்.
PersonId என்பதை ஆட்டோ இன்க்ரிமெண்ட் ஆக கொடுத்துக் கொள்ளவும்.
டேபிளை சேவ் செய்து அதன் பெயராக Person என்று கொடுக்கவும்.
இப்பொழுது கீழே உள்ள படத்தில் உள்ளவாறு அதற்கு இன்புட் கொடுக்கவும்



இப்பொழுது விசுவல் ஸ்டுடியோவில் புதிய ஏஎஸ்பி வெப் அப்ளிகேசன் உருவாக்கி அதற்கு MyApp என்று பெயர் கொடுக்கவும்.



பின் வரும் ஸ்கிரீனில் Empty என்பதை தேர்வு செய்து add folders என்பதில் mvc யை டிக் செய்து கொள்ளவும்.




இப்பொழுது சொல்யூசன் எக்ஸ்ப்ளோரர் சென்று பிராஜெக்ட் பெயரை வலது கிளிக் செய்து
Manage Nuget Packages என்பதை தேர்வு செய்யவும். அதில் BROWSE என்பதை தேர்வு செய்து அதில் Entity framework என்பதை தேடவும். கீழே உள்ள விண்டோவில் உள்ளவாறு entity framework என்பதை இன்ஸ்டால் செய்து கொள்ளவும்.




பின்பு models என்பதை வலது கிளிக் செய்து பின்பு Add என்பதை கிளிக் செய்து NewItem என்பதை தேர்வு செய்து ADO.NET Entity Data Model என்பதை தேர்வு செய்து PersonDetails என்பதை பெயராக கொடுக்கவும்.










பின் வரும் வின்டோவில் EF designer from database என்பதை தேர்வு செய்யவும்.


பின் வரும் விண்டோவில் New connection என்பதை தேர்வு செய்து அடுத்து வரும் விண்டோவில் சர்வர் பெயர்,டேட்டா பேஸ் பெயர் ஆகியவற்றை தேர்வு செய்து ok என்பதை கிளிக் செய்யவும்.


இப்பொழுது பின் வரும் படி விண்டோ வரும்.


இப்பொழுது Next பட்டனை கிளிக் செய்யவும்.


பின் மேலே உள்ள படத்தில் உள்ளவாறு டேபிள் பெயரை செலெக்ட் செய்யவும். பின்பு Finish என்ற பட்டனை கிளிக் செய்யவும்.



இப்பொழுது மாடல்ஸ் ஃபோல்டரில் புதிதாக ஃபைல்கள் சேர்க்கப்பட்டிருக்கும்.
இப்பொழுது பிராஜெக்ட் பெயரை வலது கிளிக் செய்து Build செய்து கொள்ளவும்.
இப்பொழுது Controllers என்பதை செலெக்ட் செய்து Add கிளிக் செய்து controller என்பதை தேர்வு செய்யவும். MVC 5 Controller with views, using Entity Framework என்பதை தேர்வு செய்து பின்பு Add பட்டனை கிளிக் செய்யவும்.



அதன் மாடல் கிளாஸின் பெயராக person என்பதையும் Data context class என்பதில் MyDbEntities என்பதை தேர்வு செய்யவும். மேலே உள்ள படத்தில் உள்ளவாறு தேவையானவற்றை டிக் செய்து பெயராக PeopleController  என்பதை கொடுத்து Add பட்டனை கிளிக் செய்து கொள்ளவும்.
இப்பொழுது கீழ் வரும் நிரல் வரிகள் தானாக சேர்க்கப்பட்டிருக்கும்.
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using MyApp.Models;

namespace MyApp.Controllers
{
    public class PeopleController : Controller
    {
        private MyDbEntities db = new MyDbEntities();

        // GET: People
        public ActionResult Index()
        {
            return View(db.People.ToList());
        }

        // GET: People/Details/5
        public ActionResult Details(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Person person = db.People.Find(id);
            if (person == null)
            {
                return HttpNotFound();
            }
            return View(person);
        }

        // GET: People/Create
        public ActionResult Create()
        {
            return View();
        }

        // POST: People/Create
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://go.microsoft.com/fwlink/?LinkId=317598.
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create([Bind(Include = "PersonId,PersonName,age,education")] Person person)
        {
            if (ModelState.IsValid)
            {
                db.People.Add(person);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(person);
        }

        // GET: People/Edit/5
        public ActionResult Edit(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Person person = db.People.Find(id);
            if (person == null)
            {
                return HttpNotFound();
            }
            return View(person);
        }

        // POST: People/Edit/5
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://go.microsoft.com/fwlink/?LinkId=317598.
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Edit([Bind(Include = "PersonId,PersonName,age,education")] Person person)
        {
            if (ModelState.IsValid)
            {
                db.Entry(person).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(person);
        }

        // GET: People/Delete/5
        public ActionResult Delete(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Person person = db.People.Find(id);
            if (person == null)
            {
                return HttpNotFound();
            }
            return View(person);
        }

        // POST: People/Delete/5
        [HttpPost, ActionName("Delete")]
        [ValidateAntiForgeryToken]
        public ActionResult DeleteConfirmed(int id)
        {
            Person person = db.People.Find(id);
            db.People.Remove(person);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                db.Dispose();
            }
            base.Dispose(disposing);
        }
    }
}


இப்பொழுது பிராஜெக்டை ரன் செய்யவும் url உடன் ‘/’ சேர்த்து பின்பு people என்பதை சேர்த்துக் கொள்ளவும்.
இப்பொழுது பின் வருமாறு அவுட்புட் விண்டோ இருக்கும்.

Create new என்பதை தேர்வு செய்து புதிதாக ஒரு ரோவை ஆட் செய்து கொள்ளலாம். Edit, Details, Delete பட்டன்களை கிளிக் செய்து ஒரு ரோவை எடிட் செய்யவோ அல்லது டெலீட் செய்து கொள்ளலாம்.
-நன்றி
‘முத்து கார்த்திகேயன்,மதுரை.


ads Udanz

No comments:

Post a Comment