Ado.Net Entity Framework Data Modeli
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.
Related posts:
- ADO.NET Entity Framework Beta 3 çıktı. ADO.NET Entity Framework Beta 3 çıktı. Buraya tıklayarak indirebilirsiniz.Bir önceki...
- .NET Framework 3.0 çıktı… Uzun bir süredir merakla beklenen, meraklıların Beta sürümleriyle haşır neşir...
- SubSonic, Data Access Layer Uzun bir süredir, DAL(Data Access Layer) yaratan projeler üzerinde araştırma...
- Subsonic 2.0.3 çıktı Daha önceki yazılarımdan bir tanesinde SubSonic diye bir DAL(Data Access...
- Silverlight 2 Beta 2 is coming soon At TechEd 2008 it is announced that new beta version...
Related posts brought to you by Yet Another Related Posts Plugin.












Arday Bey aslında teknik ayrıntılar oldukça yoğun bir konuya girmişsiniz. Eğer bir yazı serisi olacaksa sanırım baya bir şeyler yazmanız gerecek. Şimdiden kolay gelsin iyi çalışmalar…
Yeni aldığım bir habere göre, .net 4.0 ile linq to entity modeli ado.net’in önerilen data yönetim modeli oluyormuş, linq to sql’den vazgeçme kararı almışlar sadece müşterilerden gelen feedbackler neticisinde geliştirilecekmiş, ado.net blogunda ilgili açıklama var. Konunun önemi anlaşılan iyice artacak.
“linq to sql’den vazgeçme kararı almışlar ” çok önemli bir bilgi bence bu.
Nhibernate e yeni başlamışken, entity framework iyice kafamı karıştırdı. Nhibernate sonuçta kendini kabul ettirmiş bir çok projenin altından kalkmış kendini kabul ettirmiş bir yapı.
Şu an için Entity Framework ile proje geliştirmek ne kadar mantıklı sizce ?
Teşekkürler