18 Temmuz 2014 Cuma

MVC Film Uygulaması - Model Ekleme (Part III)

Bu yazımızda, veritabanındaki filmleri yönetmek için bazı sınıflar oluşturacağız. Bu sınıflar MVC uygulamamızın "Model" kısmını oluşturacaklar.

Bu model sınıflarını oluşturmak ve üzerinde işlemler yapabilmek için, .NET Framework'ünün geleneksel veri erişim teknolojisi olan Entity Framework'ü kullanacağız. Entity Framework (yani EF) kod öncelikli geliştirim paradigmasını destekler. Kod öncelikli yaklaşımda, basit sınıflar (POCO - plain old CLR objects- sınıfları da denir) oluşturarak kolayca model nesnelerini yaratabiliriz. Oldukça temiz ve çevik bir geliştirme ortamını sunan sınıflarımız sayesinde veritabanı işlerimiz oldukça kolaylaşacak.

Model Sınıflarını Ekleme

Solution Explorer'a gelelim ve Models klasörüne sağ tıklayıp Add > Class seçelim.


Dosya ismini Film.cs olarak ayarlayalım ve aşağıdaki beş tane özelliği ekleyelim:
using System;

namespace MVCFilm.Models
{
    public class Film
    {
        public int ID { get; set; }
        public string Baslik{ get; set; }
        public DateTime CikisTarihi { get; set; }
        public string Tipi { get; set; }
        public decimal Fiyati { get; set; }
    }
}
Veritabanındaki filmleri temsil etmek için yukarıdaki Film sınıfını kullanacağız. Her bir Film nesnesi veritabanı tablosundaki bir satıra karşılık gelecek. Ve her özellik de bir sütuna karşı gelecek.

Film.cs dosyası içerisine FilmDBContext sınıfını ekleyelim:
using System;
using System.Data.Entity;

namespace MVCFilm.Models
{
    public class Film
    {
        public int ID { get; set; }
        public string Baslik { get; set; }
        public DateTime CikisTarihi { get; set; }
        public string Tipi { get; set; }
        public decimal Fiyati { get; set; }
    }

    public class FilmDBContext : DbContext
    {
        public DbSet<Film> Filmler { get; set; }
    }
}
Yukarıdaki FilmDBContext sınıfı, veritabanındaki filmlerin getirilmesi, güncellenmesi ve eklenmesini sağlayan EF film veritabanının içeriğini temsil ediyor. Ve EF'in sunduğu DbContext sınıfından türetiliyor. Bunun için öncelikle Entity Framework paketini NuGet paket yöneticisinden indirmeliyiz. Solution Explorer'daki References dizinine sağ tıklayarak Manage NuGet Packages diyelim:


Çıkan pencerede arama çubuğuna Entity Framework yazalım ve şekildeki gibi Entity Framework paketini projemize dahil edelim.


Kullanım koşullarını kabul ettikten sonra yüklenme işlemi birkaç saniye alabilir. Yüklendikten sonra yeşil daire içerisinde bir tik göreceğiz. O zaman NuGet penceresini kapatabiliriz.


EF'i de ekleyebildiğimize göre DBContext ve DBSet'i kullanabilmemiz için, dosyanın en üst kısmındaki using ifadesi ile birlikte System.Data.Entity namespace'ini eklememiz gerekiyor. Bunu elle yazarak ekleyebileceğimiz gibi, kızaran DBContext ifadesine sağ tıklayıp Resolve > using System.Data.Entity'i seçerek ekleyebiliriz.


Not: Kullanmadığımız using ifadelerini dosya içerisinde sağ tıklayarak Organize Usings > Remove Unused Usings seçeneğini seçebiliriz.



Sonunda MVC'nin de M'ini tamamlamış olduk. Sonraki yazımızda, veritabanımızın connection string'leri üzerinde çalışacağız.


Kaynaklar: ASP.NET, Stackoverflow

Hiç yorum yok:

Yorum Gönder