Web API Tarafında Dapper Kullanımı

Veri kaynakları ile kod tarafındaki modeller arasında devreye giren bir çok ORM aracı mevcut. Stackoverflow tarafından geliştirilen ve Micro ORM olarak nitelendirilen Dapper bunlardan birisi. SQLite, MySQL, SQLCE, SQL Server, Firebird ve daha bir çok veritabanı platformu ile çalışabilen Dapper'ın performans olarak da iyi sonuçlar verdiği ifade edilmekte. Amacım Dapper'ı bir Web API uygulamasında SQLite ile birlikte kullanabilmek. [Daha fazla]

Tek Fotoluk İpucu 129 - Override Edemediğimiz ToString Metodunu Genişletmek

Geçtiğimiz günlerde çalışma arkadaşımın oldukça enteresan bir sorusu ile karşılaştım. Projesinde referans ettiği bir kütüphane içerisinde yer alan POCO(Plain Old CLR Objects) tiplerine ait ToString metodlarını ezmesi(Override) gerekiyordu. Ne yazık ki ilgili kütüphane dll olarak referans edildiğinden, içerisindeki sınıflara girip ToString metodunu ezmek mümkün değildi. Bir şekilde ToString metodunu genişletebilir miyiz diye düşünmeye başladık. [Daha fazla]

Tek Fotoluk İpucu 114 - C# 6.0 Pratikleri (Expression-Bodied Function ve String Interpolation)

Eric Vogel' e göre C# 6.0 ile birlikte dile kazandırılan yenilikler kodun daha kolay okunabilmesini sağlamaktaymış. Örneğin Expression-Bodied fonksiyonlar bu kapsamda değerlendirilebilirler. Diyelim ki elinizde bir POCO(Plain Old CLR Object) tipi var ve ToString metodunu ezeceksiniz(Override). Dile gelen yeni kabiliyetler ile söz konusu metodu aşağıdaki gibi yazma imkanımız var. (Metod gövdesinde string Interpolation özelliğini kullandığımıza da dikkat edelim) [Daha fazla]

NoSQL Maceraları - db4o ile Hello World

Apache Cassandra, RavendDb, Dex, StsDb derken sıra geldi nesne veritabanlarından(Object Database) birisi olan db4o’ ya(Database for Objects şeklinde çevirebiliriz sanırım) Object tipinden bir NoSQL(Not-Only SQL) veritabanı olan db4o ürününün, Java ve .Net platformları için sürümleri bulunmaktadır(Hatta Mono desteği de mevcuttur). Aslında %100 Java ile geliştirilmiştir ve açık kaynak Sharpen ile C# diline de çevrilmiştir. Bu da onun popüler olmasını sağlayan unsurlardan bir tanesidir(Yazının hazırlandığı tarih itibariyle .Net Framework 3.5/4.0 ve platformlarını hedef alan versiyonları vardı) [Daha fazla]

Tek Fotoluk İpucu 100–AutoMapper Kullanımı

Bildiğiniz üzere şu yazımızda nesneler arası özellik(Property) eşleştirmelerinin nasıl yapılabileceğini incelemeye çalışmıştık. Ancak işin çok daha profesyonel bir boyutu var. Örneğin tipler arası özellik adları birbirlerinden farklı olabilir ve bu nedenle bir haritayı önceden söylemeniz gerekebilir. Neyseki NuGet üzerinden yayınlanan AutoMapper kütüphanesi çok gelişmiş özellikleri ile buna imkan vermektedir. Söz gelimi aşağıdaki fotoğraf özellik adlarının farklı olması halinde bile AutoMapper ile başarılı bir şekilde eşleştirme yapılabileceğini göstermektedir. [Daha fazla]

Entity Framework Code-First için Calculated Fields Kullanımı

Bildiğiniz üzere Entity Framework Code-First yaklaşımında, veritabanı nesnelerinin tasarımları POCO(Plain Old CRL Object) tipleri üzerinden gerçekleştirilmektedir. Dolayısıyla Calculated Field şeklinde düşünülmesi gereken bir özelliğin veritabanı tarafına nasıl yansıtılacağı kafalarda bir soru işareti oluşturmaktadır. Pek tabi bunun için de bir nitelik(attribute) desteği sunulmuş olabilir ki öyledir. DatabaseGenerated niteliğinde DatabaseGeneratedOption.Computed enum sabiti değerini kullanarak, istenilen hesaplanabilir alan bildirimlerini yaptırabiliriz. Acaba durum gerçekten böyle midir? [Daha fazla]