DMCA.com Protection Status Database First Yaklaşım ile Veri Tabanı İşlemleri - Bilişim Eğitim Merkezi
Anasayfa / Yazılım 360 Eğitimleri / Database First Yaklaşım ile Veri Tabanı İşlemleri

Database First Yaklaşım ile Veri Tabanı İşlemleri

Entity FrameWork ORM aracı ile bizler yazmış olduğumuz class’ları veritabanı tablosu yada tam tersi işlemi veritabanı tablosunu class olarak kullanma işlemlerini yapabiliyoruz. En çok kullanılan yöntemlerden birisi de Database Fist yöntemidir. Database First yöneteminde database tarafında önceden veritabanı yapısı oluşturulur. Daha sonra Ado.net Entitiy Framework Model Data yardımıyla bir sihiribaz kullanarak veri tabanından ilgili tabloları visual studio ortamına aktarırız. Yapacağımız örnekler anlattıklarımız pekiştirelim.

Yukarıdaki resimde ki gibi yeni bir model oluşturulur. Model1 isminde bir model oluşturuyoruz. Bir sonraki adım aşağıdaki resimdeki gibi olacaktır. Modelin içeriğini aşağıdaki gibi seçiyoruz.

Daha sonra veri tabanı seçilir. Connection string olarak ise  resimdeki gibi NortwindEntities olarak Web.Config dosyamıza yazılacaktır.

Aşağıdaki resimde veri tabanımızdaki Nortwind veri tabanına ait tablolar listelenmektedir. Dikkat edilmesi gereken özelliklerden bir tane si de pluralize or singularize ile başlayan seçeneği işaretli olmadığından emin oluyoruz. Bu özellik seçili ise tabloların isimleri tekil se sonuna çoğul olarak s takısı , çoğul ise tekil yapması için geliştirilmiş.

Finish butonuna tıklayarak bitiriyoruz. Model1.edmx  olarak modelimizi kaydettiğini görmekteyiz. Ekranda ise model1.edmx diagram görünmektedir.  Employees tablosu modelimiz oalrak yüklenmiş. Durumda. Şimdi bir kontrol edelim. Employees tablosunun kolonlarının ve te veri tiplerinin visual studio ortamına nasıl mapping yapıldığını görmek için employees modeli üzerinde sağ tuş “Table Mapping” tıklanarak aşağıdaki görüntü elde edilir.  Görüldüğü gibi sol taraf veritabanı /tabloya ait veri tipleri, karşılığında sağ taraf ise visual studio tarafındaki sınıfımıza ait eşleşme. Örnek olarak nvarchar tipinde olan bir field(kolon) string olarak mapping edilmekte.

Daha sonra projemizi ReBuild edelim.

Web config dosyamıza oluşturulan connectionString özelliğini inceleyelim.

Data Source Veri tabanı server adresini,

Initial Catalog veri tabanı ismini temsil etmektedir.

Not: Database First yaklaşımında  kullanılacak tablo/tablolar, model olarak aktarıldığından Web.Config connectionString satırı otomatik olarak oluşturulur. Sadece Code First yaklaşımında ise ConnectionString satırını kendimiz oluştururuz.

Artık bir controller ekleyip listeleme ve ekleme işlemlerini yapalım.

Index ActionResult methodunda model olarak View tarafına tüm employees’ verisini göndermekteyiz.

Employees tablosundaki verileri çekip listelemek için controlerdeki “Index” action’ı üzerinde sağ tuş Add View seçeneği ile bir View ekleyelim.

View Name ActionResult ile tanımlanan isimle aynı olmak zorundadır. Yani Index Action’ının View dosyası Index.cstml olarak adlandırılması gerekir.

Template olarak visual studio tarafından listelemek için hazır kullanılan default List şablonunu seçiyorum.

Model Class olarak ise modelimiz olan Employees seçiyorum.

Options kısmında bu view dosyasının Partial view olmadığı için işaretlemiyoruz.

Uygulamamızı çalıştırdığımızda Default controller’ın Index Action’ı çalıştığında aşağıdaki gibi tüm employees tablosu dataları aşağıdaki listelenecektir.

Employees tablosuna yeni kayıt eklemek için Default Controller’deki  Create Action’ı yazılır ve  bir view oluşturulur. Create.cshtml  dosyası oluşturulur. View adı action ile aynı olacak. Template olarak Create seçiyorum.(visual studio’daki hazır create template kullanmak istedim.) View tarafındaki model class ise şekildeki gibi Employees class’ı seçilir.

Çalıştırıldığında ise Default controller Create Action’ı aşağıdaki gibi bir yeni kayıt ortamı görülür.

Veriler girilir. Ve create butonuna basıldığında Action kısmına HttpPost olarak gelecek ve aşağıdaki kod bloğu çalışacaktır. Form üzerinden gelecek olan model Employees tipinden olacağı için, gelen bu veriyi Employees sınıfında ekleyip değişiklileri kaydederekten (db.SaveChanges())database haberdar olur.

[HttpPost]

public ActionResult Create( Employees emp)

{

db.Employees.Add(emp);

db.SaveChanges();

return RedirectToAction(“Index”);

}

Hakkında bilisimegitim

Ayrıca Kontrol Edin

Entitiy Framework kullanmadan MVC CRUD işlemleri

Makale serimizin birinci bölümünde  Entity Framework kullanmadan CRUD işlemlerinin Create ve Read işlemlerini Kategori örneği …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Eğitimler İçin Arayın!