SubSonic 2.1 Sürümü Yayınlandı

 

SubSonic yeni versiyonu yayınlandı. Bu yeni versiyonda eskiye nazaran bir çok yenilik mevcut. Ayrıca hep şikayet ettiğimiz bir çok Türkçe hatası giderilmiş durumda.

Benim gözlemlediğim değişiklikler şu şekilde :

  • SubStage : Class oluşturan sonic.exe halen kullanılmakla birlikte artık SubSonic ; classları oluşturabilen, scaffolding testi için dahili bir web server barındıran, ayarların saklanabildiği ve daha bir çok yeni özelliği üzerinde barındıran bir windows uygulamasına sahip.
  • Yeni sorgulama yapısı tıpkı Linq gibi kullanılabilmekte.
  • Sayfalama (Paging) eğer SQL Server 2005 üzeri bir versiyon kullanıyorsanız artık sayfalama SQLServer 2005 ROW_NUMBER() fonksiyonu ile sağlanmakta (Eskiden bir temp tablosuna yazılıyordu) ve bu da performans arttırıcı bir etken olacakmış gibi görünmekte.
  • Generics : C# 2.0 dan sonra gelen bu özellik SubSonic te neredeyse her yerde kullanılmakta.
  • Türkçe problemleri giderildi (bu linkte daha önce belirttiğim hatalar).
  • Devamı daha sonraki incelemeler sonucunda gelecek … 🙂


Örnek olarak sizlere bir kaç kod göstermek isterim (Dikkat : Subsonic bağımlılık yapabilir).

SubSonic kullanılan bir projede:

  •  Bir tablodaki toplam kayıt sayısını bulmak :
    int records = new Select("productID")
                     .From("Products").GetRecordCount();

  • Bir tabloyu nesne olarak kullanmak :
    Product p = new Select().From<Product>()
                   .Where("ProductID").IsEqualTo(1).ExecuteSingle<Product>();
  • Max kaydı bulmak :
    double result = new
            Select(Aggregate.Max("UnitPrice"))
            .From(Product.Schema)
            .ExecuteScalar<double>();
  • Çoklu Join kullanımı ve sonuçların Collection olarak döndürülmesi :
    CustomerCollection customersByCategory = new Select()
                    .From(Customer.Schema)
                    .InnerJoin(Order.Schema)
                    .InnerJoin(OrderDetail.OrderIDColumn, Order.OrderIDColumn)
                    .InnerJoin(Product.ProductIDColumn, OrderDetail.ProductIDColumn)
                    .Where("CategoryID").IsEqualTo(5)
                    .ExecuteAsCollection<CustomerCollection>();
  • Sayfalama :
    SubSonic.SqlQuery q = Select.AllColumnsFrom<Product>().
                   Paged(1, 20).Where("productid").IsLessThan(100);

 

Daha detaylı bilgiler için (İngilizce):

SubSonic 2.1 indirmek için tıklayın

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditDigg thisEmail this to someonePrint this page

Post Author: mustafaozcan

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir