12 Ekim 2008 Pazar

EFE çalışıyor rahatsız etmeyin...

Bilgisayar kurdu iş başında :). Parlak bir ekran görmesin hiç fark etmez hemen hücum. Birazda baba yardımı ile itina ile saldırırız yani :)



2 Ekim 2008 Perşembe

.Net 3.5 ve LINQ

Önceki yazımda yapıyı kullanmaya başladıkça dedim ve bıraktım. :) Neden bahsetmedim ki dedim ve...

.Net Framework 3.5 ile bir projeye oluşturup LINQ to SQL Classes ekliyoruz. Bu sınıf veritabanı ile ilgili bilgileri barındırıyor. Server Explorerdan kullanacağımız veritabanını Data Connection yardımı ile ekliyoruz. Oluşan Data Connection dan kullanacağımız Tablo, Functions ve Stored Procedures 'leri ekliyoruz.





Sınıfın (Class) için verdiğiniz isimnin sonuna "Veritabanı Adı + " "DataContext" ekliyor. İlgili sınıfı örneklediğinizde artık tablo ve alanlara kolaylıkla erişebiliyorsunuz.

VeritabaniDataContext vt = new VeritabaniDataContext();




SQL Server 2008 kullanmanızıda şiddetle önerebilirim. T-SQL ile sorgular yazmak oldukça kolaylaşıyor. Tablo isimleri, alan isimleri vs bir boşluk tuşu kadar yakın.


Arada bir gözleri dinlendirmeyi ihmal etmeyin gözlerimiz en değerli organımızdır.

Linq'de Left Outer Join kullanmak.

Yeni başladığım bir iş için .Net 3.5 ile hayatımıza katılan LINQ den de yararlanmak istedim. Önce nereden bulaştım LINQ Query'e diye düşünmedim değil hani :). T-SQL kodu yazmak sanki daha kolay gibi gelmişti. Ama yapıyı kullanmaya başladıkça kolaylıklarıda fark etmemek mümkün değil.

Başta biraz uğraştırdı ama LINQ ile LEFT OUTER JOIN kullanmak isterseniz. Çok da zor değilmiş. :)

var sorguSiparisler = (from s in vt.SIPARISLERs
join b in vt.BARKOD_TANIMLARIs on s.sip_stok_kod equals b.bar_stokkodu
into tempBARKOD_TANIMLARIs from b in tempBARKOD_TANIMLARIs.DefaultIfEmpty()
orderby s.sip_stok_kod
where s.sip_evrakno_sira == Convert.ToInt32(btnSipGetir.Text)
select new { s.sip_stok_kod, b.bar_kodu, s.sip_miktar });