ENTITY FRAMEWORK CORE MVC VERİ KAYIT VE GÜNCELLEME İŞLEMİ NASIL YAPILIR?

Bir önceki dersimizde entityframewrok ile database’den kategori tablomuza ilişkin olarak verilerin nasıl çekileceğini görmüştük. Ve çekmiş olduğumuz verileri nasıl listeleriz buna ilişkin örnek yaptık. Bu dersimizde de yeni bir kayıt oluşturma ve var olan bir kaydı nasıl güncelleriz buna değinelim. Örneğimize ilişkin olarak da yeni bir kategori oluşturma ve var olan kategori üzerinde düzenleme yapacağız yani.

Detaylı ders anlatımı ve kod takibi için video:

Bunu yapabilmek için yeni bir action metodunu controller kısmında yazmamız gerekiyor.

using GRSYKitapEvi_DataAccess.Data;
using GRSYKitapEvi_Model.Models;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace GRSYKitapEvi.Controllers
{
    public class KategoriController : Controller
    {
        private readonly ApplicationDbContext _db;

        public KategoriController(ApplicationDbContext db)
        {
            _db = db;
        }

        public IActionResult Index()
        {
            List< Kategori> objList = _db.Kategoriler.ToList();
            return View(objList);
        }

        public IActionResult Update_Insert(int? id)
        {
            Kategori obj = new Kategori();
            if (id==null)
            {
                return View(obj);
            }

            obj = _db.Kategoriler.FirstOrDefault(a => a.KategoriId == id);

            if (obj == null)
            {
                return NotFound();
            }

            return View(obj);
        }
    }
}

KategoriController içinde Update_Insert adında yeni metot tanımladım. Burada parametre olarak id bilgisi giridim ama id bilgisi gelmeyebilir de, dolayısı ile int? Şeklinde tanımlama yaptım. Yani yeni bir kategori eklediğimde zaten id bilgisi gelmez ama bir kategori günceller isem bir id bilgisine ihtiyacım var çünkü o id’ye sahip kategoriyi güncellemek istiyorum. Akabinde Kategori classından obj adında bir nesne tanımladım. Daha sonra if şartımla id bilgisi kontrolü yaptım, eğer id bilgisi null geliyor ise yeni bir kayıt oluşturma işlemi yapıyorum demektir. Dolayısı ile geriye burada obj nesnemi dönüyorum.

Eğer bir id bilgisi geliyor ise işlemim update yani güncelleme işlemi demektir. Burada da var olan id bilgisine göre kategori tablosunda eşleşen id değerini eşleştirip buna ilişkin kaydı listeliyorum. İkinci if içinde de eğer obj içinde yer alan id geçersiz ise not found dönmesi için kullandım.

Şimdi gelelim bu yeni eklediğimize metodun view’ini oluşturmaya. Update_Insert’e gelip sağ tıklayıp Add View diyerek bir view klemek üzere pencereyi açıyorum. Burada Razor View seçiyorum. Var sayılan ayarları ile birlikte ok diyorum. Gelen ekranda kodlarımı yazıyorum.

@model WizLib_Model.Models.Category
@{
    var title = "Create Category";
}
@if (Model.Category_Id != 0) { //edit title = "Edit Category"; }

@title

@if (Model.Category_Id != 0) { } else { }
@section Scripts{ < partial name="_ValidationScriptsPartial" /> }

Bir sonraki derste görüşmek üzere.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir