asp.net core basit crud uygulaması - veri ekleme - createproduct /// 7

  • Veri tabanına ve doğal olarak da ekrana getirilecek verilere yeni bir ekleme yapmak için yeni bir Action tanımı yapılacaktır.
  • Create,Add,Insert veya bu kelimelerin sonuna gelen ek kelimelerle isimlendirilebilir.
  • Bu örnek üzerindeki isimlemdirme CreateProduct şeklinde olacaktır.
  • CreateProduct Action'undan iki tane oluşturulacaktır. 
    • Bir tanesi ilgili View sayfasını oluşturmayı sağlayan Action.
    • Diğeri de ilgili View sayfasındaki formun veri tabanına istek göndermesini sağlayan Action.
  • Bu iki Action'u ayırmak için HttpGet ve HttpPost Attribute'ları kullanılacaktır.
    • HttpGet Attribute default olduğu için, Post yapacak Action'a HttpPost Attribute eklenmesi yeterli olacaktır.
  • İlk olarak Get yapacak Action tanımlanacak.
    • public IActionResult CreateProduct();
      • CreateProduct adında bir Action oluşturur. 
      • Default olarak HttpGet Attribute alır.
      • Bu Action View sayfasını oluşturmak için tanımlanır.
      • Dışa bir bağımlılığı olmadığı için Asenkron şekilde programlanmamıştır.


  • Ardından Post yapacak CreateProduct Action'u tanımlanacak;
    • [HttpPost] public async Task<IActionResult> CreateProduct(Product product);
      • HttpPost Attribute ile Action'a Post özelliği verilir.
      • Product parametresi, gönderilen formdaki verileri içerecektir ve veritabanında yeni bir ürün oluşturmak için kullanılacaktır.

      • Action, "ProductDbContext" nesnesinin "Products" tablosuna yeni bir ürün ekleyecek, veritabanındaki değişiklikleri kaydedecektir.

    • _context.Products.Add(product);
      • Veritabanına yeni bir ürün eklemek için kullanılır. "Add" metodu, veritabanındaki "Products" tablosuna yeni bir ürün ekler.
    • await _context.SaveChangesAsync();
      • Veritabanındaki değişiklikleri kaydetmek için kullanılır.
      •  "SaveChangesAsync" metodu, veritabanındaki değişiklikleri kaydeder ve işlem bittiğinde bir "Task" nesnesi döndürür.
      •  "await" anahtar kelimesi, asenkron bir işlemi beklemek için kullanılır.
    • return RedirectToAction("Index");
      • "RedirectToAction" metodu, başka bir Action'u çağırmak için kullanılır. 
      • Bu metod "Index" işlevini çağırır ve kullanıcıya ürün listesini göstermek için "Index" sayfasına yönlendirir.

  • Finalde yazılacak iki Action şu şekilde olur;

Yorumlar