Ado.Net Entity Framework Tutorial Eğitimi

En Büyük İslami Forum Sitesi/Ado.Net Entity Framework Tutorial Eğitimi => Microsoft'un ORM (Object Relational Mapping) olayına çok sağlam bir giriş yapmasını sağladı Entity Framework. ORM nedir bilmeyen varsa, tabloların

Gönderen Konu: Ado.Net Entity Framework Tutorial Eğitimi  (Okunma sayısı 2067 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı administrator

  • Administrator
  • General
  • *****
  • İleti: 24515
  • Karma: +3/-1
    • Profili Görüntüle
    • Toplist Ekle Site Ekle
Ado.Net Entity Framework Tutorial Eğitimi
« : Ocak 21, 2012, 10:27:53 ÖS »
Microsoft'un ORM (Object Relational Mapping) olayına çok sağlam bir giriş yapmasını sağladı Entity Framework. ORM nedir bilmeyen varsa, tabloların sınıflara, satırların nesnelere, kolonların değişkenlere dönüştürüldüğü bir yapı diyebiliriz kısaca. Başlamadan önce visual studio ve .net framework 3.5 için sp1 güncelleştirmelerinizi yaptığınızdan emin olun.

* Örneğimizde içinde "Employee" adından tek bir tablo olan "EntityFrameworkTest" adlı veritabanını kullanacağım. Sadece böyle basit yapılarda mı çalışıyor gibi bir soru aklınıza gelmesin, bir dünya tabloya sahip ve tablolar arası sayısız ilişkisi olan veritabanlarında da başarıyla hizmet veren bir araç entity framework.




* Tutorial olarak kullanmak üzere yeni bir web sitesi yarattıktan sonra, projeye bir "Entity Data Model" eklememiz gerekiyor. "Add New Item" dediğimizde eğer sp1 leri düzgün olarak yüklemişsek "ADO.NET Entity Data Model" karşımıza çıkıyor olacak. Burada modelimize isim verip ilerlediğimizde karşımıza "Entity Data Model Wizard" çıkıyor.

* İlk çıkan ekranda hazır bir veritabanını mı kullanmak istediğimizi yoksa boş bir model mi yaratmak istediğimiz soruluyor. Mevcut bir veritabanını kullanacağımızdan "Generate from database" diyip bu ekranı geçiyoruz.

* Kendi bilgisayarımızda ya da uzak bir bilgisayarda bulunan sql sunucusundan kullanmak istediğimiz veritabanını seçiyoruz. İlerlemeden önce "Test Connection" diyerek bağlantıyı test etmeniz sağlıklı olur. Daha sonra bu bağlantının web.config de hangi isimle bulunacağını belirleyip bu ekranı da geçiyoruz.

* Şu an veritabanımızda sadece tek bir tablo olduğundan onu seçip ilerleyeceğiz, ama gördüğünüz üzere sadece tablolarla değil, view ve stored procedure ile de çalışabiliyoruz entity framework ile.



* Bütün ayarları tamamladığınızda solution ımıza "edmx" uzantılı yeni bir dosya eklendiğini göreceksiniz. Bu dosya grafiksel olarak veritabanı şemasını görmenize olanak sağlamakta ve aynı zamanda üzerinde oynamalar yapmanıza izin vermektedir. Arka tarafındaki cs dosyasında ise Entity Framework un yarattığı kodları görüyoruz. Sol tarafta gördüğünüz toolbox dakileri kullanarak kendiniz de veritabanında normalde varolmayan entity ler ve bu entity ler arasında ilişkiler yaratabilirsiniz. "Solution Explorer" ın yanında beliren "Model Browser" da yarattığınız "Entity Data Model" i daha ayrıntılı bir şekilde incelemenize yardımcı olacaktır.

Artık entity framework üzerinde çalışmaya başlayabiliriz. Görüntüleme ve silme işlemlerini gerçekleştirebilmek için bir adet gridview, ekleme işlemini gerçekleştirmek için de 2 textbox ve 1 button dan oluşan sade bir sayfamız var:



Gelelim bu sayfanın arka tarafına, kodun tamamını zaten anlatımın sonunda paylaşacağım için buraya sadece gerekli olan kısımları koymak istiyorum:

Select işlemi yaparken sadece oluşturduğumuz entity modelden bir obje üretip içindeki Employee kümesini gridview a DataSource olarak veriyoruz:

using (EntityFrameworkTestEntities eftEntity = new EntityFrameworkTestEntities())
{
gvEFtest.DataSource = eftEntity.Employee;
gvEFtest.DataBind();
}

Insert işlemi sırasında yeni bir Employee nesnesi üretip bunun içindeki alanları, sayfadan gelen verilerle dolduruyoruz. Entity Framework her sınıf için bir "AddTo" methodu yaratıyor ve bu method sayesinde insert işlemini gerçekleştirebiliyoruz. "SaveChanges" methodu ise yapılan değişikliklerin veritabanına yansımasını sağlıyor:

using (EntityFrameworkTestEntities eftEntity = new EntityFrameworkTestEntities())
{
Employee newEmployee = new Employee();

newEmployee.Id = Guid.NewGuid();
newEmployee.Name = tbName.Text;
newEmployee.Surname = tbSurname.Text;

eftEntity.AddToEmployee(newEmployee);
eftEntity.SaveChanges();
}

Delete işlemi yapmak için yine özel bir method olan "DeleteObject" i çağırmamız ve içine parametre olarak silinmesini istediğimiz objeyi vermemiz gerekiyor. Bunun için modelden önce Guid ini bildiğimiz Employee objesini alıyoruz ve daha sonra bunu parametre olarak "DeleteObject" e geçiyoruz. İşlemin tamamlanması için "SaveChanges" demeyi de unutmuyoruz tabiki:

using (EntityFrameworkTestEntities eftEntity = new EntityFrameworkTestEntities())
{
Employee deleteEmployee = eftEntity.Employee.Where(emp => emp.Id == deleteGuid).FirstOrDefault();

eftEntity.DeleteObject(deleteEmployee);
eftEntity.SaveChanges();
}

Entity Framework ile temel olarak bir tabloya veri girip çıkmak işte bu kadar basit. Update işlemine burada kodsal olarak değinmedim ama mantığı tamamen aynı. Silme işlemindeki gibi güncellemek istediğimiz objeyi önce modelden çekiyoruz, alanları üzerinde ekleme işlemindeki gibi gerekli değişiklikleri yapıp "SaveChanges" methodunu çağırıyoruz. Update işlemi için, Insert de olan "AddTo" veya Delete de olan "DeleteObject" gibi özel bir method söz konusu değil, tek yapmanız gereken "SaveChanges" methodunu çağırmak.

Projenin çalışan halini indirmek için tıklayın: EntityFrameworkTest.rar (37,25 kb)

kaynak:http://www.endergokay.com (teşekkürler)
BilX.Net