öncelikle POCO nesnesi nasıl oluşuracağız ona bakalım.
Entity framework için veritabanıyla bağlantı kurduktan sonra .edmx dosyasına sağ tıklanıp properties açılır ve "Custom Tool" da yazan değer silinir akabinde .edmx sayfasında boş bir yere sağ tıklanıp "Add Code Generation Item" denilir.
Açılacak "Add New Item" penceresinden "POCO Entity Generator for C#" seçilir.Eğer bu seçenek yoksa soldan online sekmesine tıklanır ve kullanığınız frameworke göre(4.x,5.x) poco entity generator seçilir.
Bu işlemlerden sonra POCO entity generator solution explorer da .edmx dosyasına alt olarak .context.tt ve .tt uzantılı dosyalar oluşturur.Buradan veritabanı işlemi için gerekebilecek ince ayarlar bu dosyalara girilerek yapılabilir fakat biz şimdilik veritabanına insert işlemini anlatacağız.
POCO nun en önemli özelliği veritabanına işlemeden önce verileri ObjectContext dediğimiz nesnede tutup daha sonra veritabanına işlemesidir.Tıpkı ilkel dillerdeki dosya okuma/yazma işleminde önce verinin tampon(buffer) dediğimiz yapıya atılıp daha sonra verinin istenilen bölgeye işlenmesi gibi.
Burada ObjectContext in connection string ini bulmamız gerekir ki işlemlerimizi bunun üzerinden yapacağız.Bunu string bizim ado.net entity data model(en başta veritabanını entity frameworke bağlarken) i oluştururken kullandığımız isimdir.
Connection string imizin adını öğrendikten sonra şimdi geldik veritabanına işlem yapmaya.İşlemi yapacağımız sayfa açılır.
protected void Page_Load(object sender, EventArgs e)
{
Student ogrenci = new Student();
ogrenci.StudentName = "Fırat";
ogrenci.StandardId = 1;
using(SchoolDBEntities context = new SchoolDBEntities())
{
context.Student.AddObject(ogrenci);
context.SaveChanges();
}
}
Kendi kullandığım veritabanından örnek verecek olursak.Burada Student tablo adı olup entity framework gereği bunu sınıf gibi kullanıyoruz ve Student sınıfından ogrenci nesnesi oluşturuyoruz.
Nesneye yönelim programlama gibi sonuna nokta koydukça tablomuzdaki alanlar(StudentName,StandartID) gelmekte olup bu alanlara erişebiliyoruz.
Daha sonra yukarıda POCO kullanarak oluşturduğumuz SchoolDBEntities sınıfından oluşturduğumuz context nesnesiyle ogrenci nesnesini context nesnesine AddObject metoduyla ekliyoruz.
Son olarak .SaveChanges() metodu context te yaptığımız değişiklikleri veritabanına kaydederek başarılı bir şekilde POCO Entity Framework kullanarak veritabanında işlemimizi bitiriyoruz.
Entity Framework hakkında daha ayrıntılı bilgi için
http://www.entityframeworktutorial.net/