02.04. ASP.NET Core MVC: Model

Model bölümü Veritabanı ile direkt bağlantı kuran kısımdır. Controller vasıtasıyla View bölümüne veri aktarabilir. Ayrıca, doğrulama işlemleri bu katmanda yapılır.
Razor Pages bölümünde olduğu gibi Veritabanı ile çalışmak için Entity Framework Core (EF Core) kullanılacak. Ancak bu bölümde farklı bir Veritabanı olarak SQLite kullanmayı düşünüyorum. Öncelikle, Models klasörüne Movie.cs aşağıdaki gibi basit bir sınıf oluşturalım.

02.03.01. Scaffolding işlemine hazırlama

Scaffolding işlemi ile CRUD işlemleri otomatik olarak yaratabileceğimizi anlatmıştık. Öncelikle …csproj dosyasına aşağıdaki satırları ekleyelim.

Dosyayı kaydedip, projeyi tekrar yükleyin. Yükleme konusunda VS Code bir uyarı verecektir. Models klasörüne MvcMovieContext.cs dosyasını yaratıp aşağıdaki satırları yazalım. Bu işlem Veritabanı ile konuşacak olan context’i hazırlıyor. Sağolsun, birçok işlemi bizim yerimize yerine getirecek önemli bir işlemdir. Startup.cs dosyasına aşağıdaki işaretli satırları ekleyelim.

İlk işaretli satırlar ile EF Core ve Models bölümü aktive ediliyor. Üçüncü ve Dördüncü işaretli satır ile SQLite Veritabanı aktive edilir. Şimdi projeyi tekrar yükleyip (Aşağıdaki restore koduyla yapılabilir), ardından aspnet-codegenerator ile CRUD sayfalarını Views bölümüne oluşturalım. Terminal’i açalım ve aşağıdaki kodları sıra ile çalıştıralım.

Eğer dosyaları yüklediyseniz ve tekrar yüklemeye ihtiyaç duyarsanız “-f” parametresini ikinci koda ekleyin. Bu işlem mevcut dosyalarının üzerine yazıyor.

Views bölümünde Movies klasörünü inceleyin.

02.03.02. Veritabanı yaratma kodunu oluşturma

Mevcut model üzerinden eğer Veritabanı oluşturmak isterseniz aşağıdaki kodları kullanabilirsiniz. Terminali açalım ve aşağıdaki kodu çalıştıralım.

Models/MvcMovieContext.cs dosyası yaratılması kullanarak tablo yaratma kodlarını üretir. Aşağıdaki kodla Migrations klasörünü dosyanın güncel versiyonunu yükleyebilirsiniz.

Migrations/<zaman damgası>_InitialCreate.cs şeklinde bir yaratma dosyası oluşturur.