Mustafa YAVUZ 10.08.2017 03:19:36 Entity Framework- 5783 kere okundu Entity Framework Veri Modeli Oluşturma ORM,veritabanındaki oluşturulan her bir nesneye(tabloya) karşılık uygulama tarafından bir nesne oluşturma işidir. Merhaba, Bu yazımızda Entity Framework ile bir veri modeli nasıl oluşturulur bunu göstereceğim. Öncelikle Entity Framework bir ORM (Object Relational Mapping) aracıdır. Bu konu ile ilgili bilginiz yoksa kısa bir araştırma yaparak öğrenebilirsiniz. Şimdi biz gelelim konumuza veritabanımızdaki tablolara doğrudan (SELECT, INSERT, UPDATE, DELETE) sorgularla erişip işlem yapmak yerine nesneler üzerinden işlem yapmayı sağlar. Bu nesneler, Entity Model’lerini oluştururlar. İlk önce bir ASP.NET MVC projesi oluşturacağız. Daha sonra da Entity Model sınıflarını oluşturacağız. Örnek olarak veritabanını ben NORTHWIND veritabanını kullandım. Bunu ileri ki yazılarımda göreceksiniz. Projeye başlangıç: Visual studio’ da File>New> Project seçeneklerinden yeni proje oluşturma ekranını açınız. ASP.NET Web Application seçeneği tıklayın ve projenize bir isim veriniz. Proje şablonu olarak MVC seçiniz. Şimdi projemizde iki tablo kullanacağız. Bunlar Categories ve Products olacaktır. Yani Kategoriler ve Ürünler. Ürünlerin hangi kategoriye ait olduklarını ve aralarında ki ilişkiyi ayarlayacağız. İlk önce ürünün kategori bilgilerinin olduğu Categories Modelini oluşturalım. Kategori kayıtlarımız örnek olarak, “Bilgisayar, Notebook, Akıllı Telefonlar, Televizyon” gibi olacaktır. Ürünler ise bu kategoriler bağlı olarak tanımlanacaktır. Örneğin notebook kategorisinin macbookpro diye bir ürünü olacaktır. Ürün bilgilerini oluşturacağımız, Products modelinde tutacağız. Solution Explorer üzerinde Models klasörüne sağ tıklayıp Add/Class seçeneğine tıklayın ve Categories isminde bir class oluşturunuz. Aynı şekilde birde Products isminde bir class oluşturunuz. Daha sonra Categories.cs dosyasını açınız. Şu kodları yazınız. public class Categories { public int CategoryID { get; set; } public string CategoryName { get; set; } public string Description { get; set; } public virtual ICollection<Products> Products { get; set; }//Categories Modeli üzerinden, Categories’e ait ürünlere erişim sağlıyoruz. } Biz burada CategoryID, CategoryName, Description bilgilerini aldık ve Categories modeli üzerinden de Products’ larımıza erişim sağladık. Bir kategoride birden fazla ürün olabileceği için, Products özelliğini ICollection türünde tanımlayacağız. Ve benzer şekilde şimdi Products.cs dosyamızı açıp aşağıdaki gibi kodları yazalım. public class Products { public int ProductID { get; set; } public string ProductName { get; set; } public int SupplierID { get; set; } public string QuantityPerUnit { get; set; } public float UnitPrice { get; set; } public virtual Categories Categories { get; set; }//Ürüne bağlı kategori bilgisini tutmamız gerekiyor. } Ürünün kimliğini CategoryID değişkeninde tutuyoruz. Fakat ORM’yi iyi bir şekilde anlamak için, ürüne bağlı kategori bilgisini de tutmamız gerekiyor. Bu sebeple Categories sınıfına virtual olarak tanımlayacağımız Categories türünde bir özellik daha ekleyeceğiz. Not: Entity Framework içinde modeller arasındaki ilişkiller üzerinden verilere erişim, farklı yöntemlerle (lazy loading vb.) yapılabilmektedir. Bu yöntemlerle olanak sağlamak için Categories özelliği virtual olarak tanımlanmaktadır. Projedeki veri modellerini (Data Model) oluşturma işlemini tamamladınız. bir sonraki aşamada Entity Framework veritabanı içeriği (Data Context) oluşturma işlemini gerçekleştireceğiz. Paylaş Yorum Yaz