Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

Partial sınıfların gücü (Entity Framework)

Merhabalar arkadaşlar.
Partial(parçalı) sınıflar fiziksel olarak farklı dosyalarda aynı sınıf ismiyle oluşturulan ve çalışma zamanında compiler tarafından birleştirilen sınıflardır. Sınıflarda olduğu gibi struct ve interface’lerde de aynı şeyi yapabiliriz.

public partial class Employee
{
    public void DoWork()
    {
    }
}

public partial class Employee
{
    public void GoToLunch()
    {
    }
}

Yukardaki örnekte 2 farklı cs dosyasında tek bir sınıfın farklı metodları tanımlanmıştır. Bu yapı özellikle tek sınıf üzerinde çalışacak birden fazla kişinin aynı anda çalışabilmesini kolaylaştırmaktadır. Partial sınıfları kısaca tanıdıktan sonra asıl anlatmak istediğim konuya gelelim.
Örneğin projenizde Entity Framework kullanıyorsunuz ve veritabanında FirstName ve LastName isminde ayrı ayrı kolonlarınız var ancak kod içerisinde bu alanları birleştirerek FullName olarak da kullanmak istiyorsunuz diyelim. Bu noktada partial sınıflardan faydalanabiliriz.

public partial class Employee
{
public string FullName
{
get
{
using (DataContext ctx = new DataContext())
{
Employee emp = ctx.Employees.SingleOrDefault(c => c.ID == this.ID);
StringBuilder sb = new StringBuilder();
sb.Append(emp.Firstname);
sb.Append(" ");
sb.Append(emp.Lastname);
return sb.ToString();
}
 }
}

Abartıp bir partial class daha ekleyelim.

public partial class Employee
{
    public decimal Salary
    { get { return Hours*Wage; } }
}

Entity framework sınıfları bunu yapmamıza olanak sağlıyor çünkü o da bütün sınıflarını partial olarak oluşturuyor.

Herkese iyi günler dilerim.
Reklamlar

Mart 21, 2012 Posted by | C# | , , , | Yorum bırakın

Mart Ayı Nedirtv?com webinerleri

Mart ayı Nedirtv?com webinerleri bu gün itibariyle başlıyor. Bu ay içerisinde yine oldukça ilginç ve enteresan konulara yer verilmekte. Örneğin bu akşam Ercan Bozkurt hocamız Windows 8 üzerinde uygulama geliştirmeye yönelik bir oturum ile huzurlarınızda olacak. Ben bu ayki programda eski adıyla WCF Web API olarak da bilinen, artık ASP.Net takımını bir üyesi olaraktan MVC 4 Beta sürümüne ve gelecek .Net Framework 4.5 içerisine gömülen ASP.Net Web API konulu bir oturum ile katılıyor olacağım. Tabi daha pek çok güzel oturum yer almakta. Örneğin HTML 5 ile gelen yeni form özellikleri, Dynamics CRM’ deki Workflow yapısı, IIS 7/7.5 de geliştiriciler için gelen yenilikler. Hepsi de oldukça önemli konular. Programın tamamına ve erişim linklerine aşağıdan ulaşabilirsiniz.

Konu: Windows 8 CP Yenilikleri ve Windows 8′de Uygulama Geliştirme
Tarih: 14 Mart 2012 Çarşamba 21:00
Konuşmacı: Ercan Bozkurt
Link: https://www.livemeeting.com/cc/mvp/join?id=MKSPP3&role=attend

Konu: WCF Web API(ASP.NET Web API)
Tarih: 19 Mart 2012 Pazartesi 21:00
Konuşmacı: Burak Selim Şenyurt
Link: https://www.livemeeting.com/cc/mvp/join?id=C7FZGM&role=attend

Konu: HTML 5 – Yeni Web Form Örnekleri
Tarih: 22 Mart 2012 Perşembe 21:00
Konuşmacı: Cemil Uzun
Link: https://www.livemeeting.com/cc/mvp/join?id=6DKG62&role=attend

Konu: Dynamics CRM 2011 Workflow Mimarisi – I
Tarih: 26 Mart 2012 Pazartesi 21:00
Konuşmacı: Barış Kanlıca
Link: https://www.livemeeting.com/cc/mvp/join?id=BSCK3Z&role=attend

Konu: Yazılımcılar için IIS 7 ve IIS 7.5 Yenilikleri ve Kolaylıkları
Tarih: 29 Mart 2012 Perşembe 21:00
Konuşmacı: İbrahim Atay
Link: https://www.livemeeting.com/cc/mvp/join?id=6B9CDQ&role=attend

Mart 14, 2012 Posted by | Etkinlikler | , , , , , , | Yorum bırakın