Entity Framework Model First ile Uygulama Geliştirme

ef_approachYazılım geliştirme süreçlerinde bazen third-party dediğimiz, kontrol, uygulama ve çeşitli araçların kullanılması kaçınılmaz olabilmektedir. Ancak bazen bu araçlar projeye dahil edildiğinde proje için fazla ya da gerekli olmayan kod blokları ekleyebiliyor.

Profesyoneller yazılım geliştirirken, projelerine bu şekilde fazladan alakalı-alakasız kodlar eklenmesini pek sevmez. Bu nedenle, kullanılacak ek araçların yazılımcı için esnek olması elzem bir konudur. Örneğin, projenize Entity Framework ile kullanılan .edmx dosya uzantısına sahip bir ADO.NET Entity Data Model eklediğinizde, projede görebileceğiniz gibi bir çok sınıf ve nesne eklenecektir. Projeyi geliştirmek için yeterli tüm özellikleri taşısa da, genel bir yapı olduğu için aslında projenizde ihtiyacınız olmayan yapıların da eklendiğini görebilirsiniz.

Microsoft, geliştiricilerin bu tür araçlardan pek haz etmediğini bildiği için, Entity Framework‘de birden fazla yaklaşım sunmuştur.

Bunlar;

– Entity Framework DbFirst (Database First)
– Entity Framework Model First
– Entity Framework CodeFirst

Projenize eklediğiniz bir ADO.NET Entity Data Model nesnesi ile veritabanı nesnelerini ‘generate’ ederek kullandığınızda bu yaklaşımlardan DbFirst‘ü kullanıyorsunuz demektir. Peki, bir Designer ile veritabanı tablolarını Visual Studio ortamında proje geliştirirken tasarlamak istersek? O zaman yaklaşımımız Model First olacaktır. Ya da bunların ikisini de istemezsek, kendi tablo ve ilişkisel Entity yapımızı kod ile yapmak istersek? O zaman da CodeFirstyaklaşımıyla çalışmamız gerekecektir.

Bu eğitimde Entity Framework‘de ModelFirst yaklaşımını incelemeye çalıştık.

– http://www.youtube.com/watch?v=1fYtPeLC_D4

İyi çalışmalar.

Entity Framework CodeFirst ile Uygulama Geliştirme

Yazılım geliştirme süreçlerinde bazen third-party dediğimiz, kontrol, uygulama ve çeşitli araçların kullanılması kaçınılmaz olabilmektedir. Ancak bazen bu araçlar projeye dahil edildiğinde proje için fazla ya da gerekli olmayan kod blokları ekleyebiliyor.

Profesyoneller yazılım geliştirirken, projelerine bu şekilde fazladan alakalı-alakasız kodlar eklenmesini pek sevmez. Bu nedenle, kullanılacak ek araçların yazılımcı için esnek olması elzem bir konudur. Örneğin, projenize Entity Framework ile kullanılan .edmx dosya uzantısına sahip bir ADO.NET Entity Data Model eklediğinizde, projede görebileceğiniz gibi bir çok sınıf ve nesne eklenecektir. Projeyi geliştirmek için yeterli tüm özellikleri taşısa da, genel bir yapı olduğu için aslında projenizde ihtiyacınız olmayan yapıların da eklendiğini görebilirsiniz.

Microsoft, geliştiricilerin bu tür araçlardan pek haz etmediğini bildiği için, Entity Framework‘de birden fazla yaklaşım sunmuştur.

Bunlar;

– Entity Framework DbFirst (Database First)
– Entity Framework Model First
– Entity Framework CodeFirst

Projenize eklediğiniz bir ADO.NET Entity Data Model nesnesi ile veritabanı nesnelerini ‘generate’ ederek kullandığınızda bu yaklaşımlardan DbFirst‘ü kullanıyorsunuz demektir. Peki, bir Designer ile veritabanı tablolarını Visual Studio ortamında proje geliştirirken tasarlamak istersek? O zaman yaklaşımımız Model First olacaktır. Ya da bunların ikisini de istemezsek, kendi tablo ve ilişkisel Entity yapımızı kod ile yapmak istersek? O zaman da CodeFirst yaklaşımıyla çalışmamız gerekecektir.

Bu eğitimde Entity Framework‘de CodeFirst yaklaşımını incelemeye çalıştık.

– http://youtu.be/F3O-gZnEgoM

İyi çalışmalar.

Entity Framework ile Uygulama Geliştirme

ef_approachUzun zaman önce Entity Framework ile temel seviye uygulama geliştirme işlemlerini anlatan bir mini eğitim serisi hazırlamıştım. Bir süredir bu eğitimin detaylı ve daha uzun versiyonunu hazırlama düşüncesine sahiptim. Şimdi bu eğitimleri yayınlıyorum.

Bu uygulamayı geliştirirken detaylı bir planlama yapmadım. Genel olarak Northwind üzerinde yapmayı ön görerek doğaçlama bir çalışma yaparak ilerledim. Konusu geldikçe yeni özellikleri ya da detayları anlatmaya çalıştım.

 

 

Eğitimler;

1 – https://vimeo.com/90419940  (Youtube Alternatif)
2 – https://vimeo.com/90426507  (Youtube Alternatif)
3 – https://vimeo.com/90429107  (Youtube Alternatif) (İlk 2 videoda yapılanların açıklamaları)
4 – https://vimeo.com/90513348  (Youtube Alternatif)

İyi çalışmalar.

LINQ to SQL ile Uygulama Geliştirme

LINQ to SQLLINQ to SQL ile veritabanı uygulamaları geliştirmek günümüz Microsoft veritabanı programlama projelerinde yüksek öneme sahiptir. Özellikle web tabanlı projelerde yoğun olarak kullanılan LINQ mimarisini incelediğimiz bu görsel eğitim serisiyle LINQ’e giriş yaparak .NET nesneleri ve SQL Server üzerinde nasıl sorgulamalar yapılabileceğinizi öğreneceksiniz.

LINQ to SQL ile Uygulama Geliştirme – 1

LINQ to SQL ile Uygulama Geliştirme – 2

LINQ to SQL ile Uygulama Geliştirme – 3

İyi çalışmalar.

101 LINQ Samples – LINQ 5

LINQ 5 uygulamasının çalışabilmesi için buradaki sınıfların hazırlanması gerekir. Örnek Proje : RestrictionOperators.sln Problem : Bir string dizisi oluşturup her elemanın uzunluğunun kendi bulunduğu dizi indeks numarasından büyük/küçük olma durumunu kontrol etmek. Çözüm : Dizi listesi oluştur. Bu listeyi WHERE ile sorgula, her elemana  digit anahtar kelimesi ver ve bu kelimenin Length ile kelime uzunluğunu index ile küçüktür kontrolü […]

101 LINQ Samples – LINQ 4

LINQ 4 uygulamasının çalışabilmesi için buradaki sınıfların hazırlanması gerekir. Örnek Proje : RestrictionOperators.sln Problem : Washington’da bulunan müşterileri ve bu müşterilerin ürünlerini almak. Çözüm : Region property’sinde tutulan bölgeleri WHERE ile filtreleyerek “WA” sorgulaması yapacağız. Bu sorgu sonucunda elde edeceğimiz kayıtlar müşteri bilgileridir, CustomerID ve CompanyName bilgisini yazdırdıktan sonra, gelen aynı veri zerinden Orders sınıfını elde edip bu sınıfı da […]

101 LINQ Samples – LINQ 3

LINQ 3 uygulamasının çalışabilmesi için buradaki sınıfların hazırlanması gerekir. Örnek Proje : RestrictionOperators.sln Problem : Stokta bulunan ürünlerden(UnitsInStock), birim fiyatı(UnitPrice) 3.00’ın üzerinde olan ürünleri almak. Çözüm : Stoktaki ürünleri bulmak için WHERE filtrelemesi yapılmalıdır. Bunun için gerekli sınıf tasarımı Product sınıfınta mevcuttur. UnitsInStock property’sine 0(sıfır) değeri göndererek gerekli listelemeyi yapabiliriz. (UnitPrice’ın sınfı tasarımında decimal veri tipine […]

101 LINQ Samples – LINQ 2

LINQ 2 uygulamasının çalışabilmesi için buradaki sınıfların hazırlanması gerekir. Örnek Proje : RestrictionOperators.sln Problem : Stokta bulunan ürünleri bulmak. Çözüm : Stoktaki ürünleri bulmak için WHERE filtrelemesi yapılmalıdır. Bunun için gerekli sınıf tasarımı Product sınıfınta mevcuttur. UnitsInStock property’sine 0(sıfır) değeri göndererek gerekli listelemeyi yapabiliriz. List<Product> products = GetProductList(); var soldOutProducts = from prod in products where prod.UnitsInStock == 0 […]

C# ile “101 LINQ Samples” : Sınıfların Hazırlanması

  LINQ mimarisinin güzelliklerini projelerinde bir çok kez görüp yaşayan biri olarak bu      teknolojiyi projelerinizde kullanmanızı öneririm. LINQ mimarisi basite alınamayacak kadar  detaylı olsa da bu makalemde anlatmak istediğim konu Microsoft’un “101 LINQ Samples in C#”  adıyla yayınladığı örnek kod dosyalarıdır. Tekrar etmem gerekirse, bu makaledeki amacım LINQ mimarisini anlatmak değil, örnekleri  açıklayarak yayınlamaktır. […]