Date Image Thursday, November 29, 2012 | Kategoriler | C#, Linq, Tümü

Linq Expression İle MethodInfo'nun Elde Edilmesi Ve Method Attribute Kullanımı

Reflection işlemleri ile uğraşırken kullanılan sınıflardan biri de MethodInfo sınıfıdır. Elimizde tipini bilmediğimiz bir nesne vardır ve bu nesne içinde varolduğunu bildiğimiz bir metodu çalıştırmak isteyebiliriz. Bu durumda bu nesne tipi içinde reflection yardımıyla GetMethod metodunu çağırarak parametre olarak metodun ismini geçtiğimizde bize MethodInfo tipinde bir nesne döner. Bu nesne içerisinde o metotla ilgili bilgiler bulunur.Invoke metodunu çağırarak metodu çalıştırabiliriz ya da sınıf içerisindeki diğer metot ve propertyleri kullanarak işlemler yapabiliriz.

Tipini bilmediğimiz bir nesne üzerinde bir metodun nasıl yakalanacağı ve nasıl çalıştırılabileceği hakkında çok basit ve kısa olarak teorik bilgiyi yukarıda verdim. Konumuz bu olmadığı için ne kadar kısa olursa o kadar iyi :). Şimdi, belli bir tipe ait metotları linq sorguları ile(lambda expression kullanarak) nasıl elde edebileceğimize bakacağız. Ayrıca, örnek olarak oluşturacağımız metot için custom bir attribute tanımlayıp MethodInfo nesnesi içerisinden bunu da görüntüleyeceğiz.

Etiketler : C# , Linq , Expression , Console , Reflection
Detay
Date Image Sunday, March 21, 2010 | Kategoriler | Ado.Net, Asp.Net, C#, Html, Css, Javascript, Linq, Xml, Genel, WCF, Web Service, GDI+, Sql, Ajax, MVC, Entity Framework, Silverlight, Tümü

Units Of Work Kavramı - Giriş

Yazılım sürecinde oluşturulan sistemin kalite kontrolü unit testleri ile yapılır.
Unit genellikle bir sınıftır,test ortamında oluşturulup o nesnenin çeşitli metodlarını çağırılarak, çeşitli alanlarını değiştirerek, kısacası üzerinde işlem yaptıktan sonra ortaya çıkan sonuçların beklendiği gibi gerçekleşip gerçekleşmediğinin sınandığı bir test çeşididir.

Etiketler :
Detay
Date Image Sunday, December 20, 2009 | Kategoriler | Ado.Net, Linq, Entity Framework, Tümü

Entity Framework'e Giriş - Insert/Update/Delete İşlemleri

   Microsoft'un ORM(Object Relational Mapping) için geliştirdiği Entity Framework için bir giriş yazısı ve örneği hazırladım. Anlatımı örnekler üzerinden yapmak istiyorum.

Etiketler :
Detay
Date Image Wednesday, October 7, 2009 | Kategoriler | C#, Linq, Sql, Tümü

Bir Soru Üzerine Linq İle Kayıt İşlemleri Yaparken Son Eklenen Kaydın IDsini Almak

   Bana sorulan bir soru üzerine, linq to sql kullanan bir arkadaşın kaydettiği makaleden sonra, makale idsini alarak bir yönlendirme yapmak isteğine cevap olarak;

 

public int CreateArticle(Article article)

        {

            db.Articles.InsertOnSubmit(article);

            db.SubmitChanges();

            return article.ArticleID;

        }

   Görüldüğü gibi article türünde bir nesne bana geliyor ben de, db olarak adlandırdığım data contextin article tablosuna submit işleminde kaydet diyorum.Buraya kadar zaten bilinen şeyler. SubmitChanges() metodu ile kaydı gerçekleştiriyorum. Kayıt yapıldı şimdi de idyi alalım. Bu en kolayı sanırım. Bana gelen article nesnesinin ArticleID propertysini geri döndürüyorum. Yani bir nesne hazırlayıp bunu Data Context e kaydettikten sonra yine bu nesne üzerinden, veritabanında bulunan otomatik artan bir alandan gelen bilgiyi çekebiliyoruz. Sql Serverdaki scope_identity() gibi.

 

Etiketler :
Detay
Date Image Sunday, September 27, 2009 | Kategoriler | C#, Linq, Tümü

Linq To Twitter İle Twitter Girdilerini Çekmek Ve Yeni Girdi Oluşturmak

   Twitter ı kullanıyorsanız ve bir blog yada web sayfanız varsa twitter girdilerinizi eklemek isteyebilirsiniz. Ya da ; şuan aklıma gelen güzel bir örnek , blogunuzun yönetim panelinden eklediğiniz bir makalenin linkini twitterınıza girdi olarak eklemek isteyebilirsiniz. Bunu çok basit bir şekilde sadece tek satır kod yazarak gerçekleştirebilirsiniz.

   Örnek console uygulaması;

Etiketler :
Detay
Date Image Tuesday, September 1, 2009 | Kategoriler | Linq, Sql, Tümü

Linq to Sql'de Birden Fazla Kaydın Silinmesi

Bildiğiniz gibi linq to sql sorgularını arkaplanda sql procedureleri gibi parametreli olarak gönderir. Tabiki bu çok güzel birşey.

Bir diğer güzelliği de bunları transaction içinde işletmesidir.

Ancak biz birden fazla kaydı bir anda silmek istediğimizde herbir kayıt için ayrı sorgu gönderir.Bu istenmeyen bir durum olarak kabul edilir.Oysaki silinecek kayıtların primary keylerini tek bir sorguda göndererek hepsinin silinmesi sağlanabilir. Veri trafiğini bu şekilde azaltabilirz.

Etiketler :
Detay
1
serdarsert.com Rss
Facebook | Serdar SERT
Twitter | Serdar SERT