Hatırlarsak, Microsoft uzun bir süre önce duyurduğu Ado.net Entity Framework’ü .NET 3.5 ile bizlere sunmuştu ve O/R Mapping konusunda piyasadaki yerini aldı. Ve açıkcası kişisel görüşüm, hiç beklemediğim bir şekilde oldukça güzel bir ürün çıkarmış. Ado.net Entity Framework’ün ne olduğunu önceki yazılarımda bulabilirsiniz. Google’da arama yapacak olursanız zaten bir çok kaynakla karşılaşabilirsiniz.
Peki nasıl kullanıyoruz bu Entity Framework’ü. .NET 3.5 SP 1 ile son halini alan bu framework için önceleri Visual Studio’ya bir şeyler yüklemek gerekiyordu. Ama son çıkan service pack’ler ile bu ortadan kalktı.
Öncelikle yeni bir proje açıyoruz ve data modelimizi oluşturuyoruz. Daha doğrusu mevcut SQL’de ki veritabanı modelimizi koda çeviriyoruz. Otomatik olarak oluşan kodlar, veritabanındaki yapıyı temsil ediyor. Veritabanındaki tablolar arasındaki ilişkiler kod tarafında kolayca kullanabileceğimiz şekilde, nesne modeli olarak oluşuyor. Data modelimizi oluşturmak için, yarattığımız projeye sağ tıklayıp Add New Item diyoruz.Çıkan ekrandan ADO.NET Entity Data Model’i seçip, modelimiz için uygun ismi yazıyor ve Add diyoruz.
Bu işlemden sonra karşımıza Entity Data Model Wizard’ı çıkıyor. Bu ekran modelimizi oluşturmak için ilk adım. Generate From Database ve Empty Model şeklinde iki seçenek karşımıza çıkıyor olacak. Generate From Database dediğimizde, seçeceğimiz bir veritabanındaki yapıya göre Entity’lerimiz oluşacaktır. Veritabanındaki tüm ilişkiler, Entity’ler arasında yaratılacak ve veritabanındaki modeli, nesne modeli şeklinde kullanabileceğim. Empty Model dersek eğer, sıfırdan kendi Entity’lerimizi oluşturabileceğimiz bir prosedür bizi bekliyor olacak.
Next dediğimizde, alışık olduğumuz Connection String ayarları ile ilgili ekran karşımıza çıkacaktır. Buradan hangi veritabanına bağlanmak istiyorsak, ilgili parametreleri verip bağlantı cümleceğimizi yaratıyoruz. Bu cümlecik, app.config ya da web.config’de yer alıyor olacak. Daha sonra Next dediğimzde tabloları, view’ları ve stored procedure’leri seçebileceğimiz bir ekran bizi bekliyor olacak. Yani modelimizde, veritabanındaki hangi objelerin olacağını bu ekran aracılığla seçiyoruz.
Modelimiz için uygun bir namespace yazmayı unutmuyoruz tabi ki. Daha sonra Finish dediğimizde, Solution Explorer’da projemiz altında *.edmx uzantılı modelimizin oluşmuş olduğunu göreceksiniz.Dikkat edecek olursanız veritabanındaki tüm ilişkilerin de oluştuğunu göreceksiniz. İlişkilerin nesneler arasında property’ler şeklinde oluşuyor olması, bir nesneden ilişkili olduğu diğer nesneye kolayca ulaşmamızı sağlıyor.
Bir sonraki yazılarda oluşturduğumuz bu modeli nasıl kullanacağımızı üşenmezsem anlatmaya çalışacağım.