1

Konu: LinqPad 2.0 beta cikti

Yeni versiyonun carpici ozelligi, yeni destekler. Bunlarin icinde SQLite, MySQL destegi var. ADO.Net services, SQL Azure da yeni eklenen desteklerden.

Daha once blogumda da belirttigim gibi LinqPad sadece  .Net ile ilginenler icin degil. Bir SQL nasil yazilir ya da daha pratik bir SQL server yonetim konsolu olsun diyenler icin de faydali. MySQL, SQLite kullananlar da artik LinqPad'de object query yazip onun 'SQL'ini yurutebilir (ben bunu karmasik SQL server SQL'leri icin kullaniyordum - ne de olsa nesne sorgulari SQL'den daha anlasilir:)

http://www.linqpad.net/Beta.aspx

2

Re: LinqPad 2.0 beta cikti

Çetin, bunun .Net 3.5 da çalışan versiyonunu nereden indirebilirim. Google da yada sitesinde aradım download edebileceğim birşey bulamadım.
Son sürümünün betası var sadece.

3

Re: LinqPad 2.0 beta cikti

Verdigim adresten. O .Net 3.5'da calisiyor, .Net 4.0 destegi de var. Su anda beta zaten (VS2010'da beta oldugundan olsa gerek, yoksa betalik hali kalmamis).

4

Re: LinqPad 2.0 beta cikti

Yazılmış linq komutunu sql e çeviriyor.
Birde tam tersini yapsa. Tadından yenmez smile

5

Re: LinqPad 2.0 beta cikti

ya iyi de sql komutunu nasıl linq ya çevirsin? linq'da çok farklı ifade edilebilir bir sql komutu.

mesela sen linq da açılan gruplu istiyorsan da düz liste istiyorsan da sql de bunun karşılığı select * from carihar dır.

select * from carihar'dan giderek senin nasıl istediğini nerden bilecek te ona göre linq yazacak... smile

bence linq yu öğrendikten sonra zaten o daha kolay gelecek. amaç ta zaten o. sql komutlarıyla uğraşarak yaptıklarımızı daha kolay yapmak ve bunu da oop yapmak.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

6

Re: LinqPad 2.0 beta cikti

Linq demişken , aşağıdaki linq ifadesinde bir sorun yaşıyorum:

SQL
Dim thsg = FROM th IN db.tahsilatodemes _

                 WHERE th.tahsiltipi = 1 AND th.tarih = TextBox1.Text AND th.taksit = 0 SELECT th

Burada "th.taksit = 0"  ifadesi çalışmıyor. Bunun nedeni tabloda  alanın veritipi "int" , aynı zamanda null değere izin veriyor.  Bu eşitliği nasıl yazmam gerekiyor.

7

Re: LinqPad 2.0 beta cikti

th.taksit.CompareTo(0)

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

8

Re: LinqPad 2.0 beta cikti

Orada bir yanlislik var. Taksit'in null kabul etmesi th.Taksit = 0 kullanmani engellemez. Bence hata baska yerde. Mesela benim gordugum:

th.Tarih = Textbox1.Text

var. Is vb olunca pek yardimim olmaz. VB sanirim textbox1.Text'de tarihe benzer birsey gorunce kendisi datetime'a ceviriyor. Calismiyor derken calismayan ne. Eger isin icinde datetime varsa dogrudan ona bakan tum SQL'lerde beklenmedik "calismiyor" hissini veren sonuclar gormek mumkun. Nedeni de, datetime degerleri iki integer olarak tutuluyor, ikinci gunun fraksiyonu seklinde. Bu yontemle herhangi bir zamani tam belirtmek mumkun degil (baska bir deyisle gorunmeyen ama var olan milisaniyeler basa bela).

9

Re: LinqPad 2.0 beta cikti

TextBox1.Text ' de tarih var ama o sorun çıkarmıyor. Sabatan beri yine bir yığın gerekli gereksiz sayfayı okudum ama sonuna tesadüfen şöyle bir şey buldum.

th.taksit.GetValueOrDefault = 0    ve çalıştı.

Bu method compare edilen nesnenin o anki değerini yoksa default değerini getiriyor.

Aslında problemin taksit alanında NULL değer den kaynaklandığından bende emin değilim . Hatta herhangi bir hata mesajıda yok.Sadece gelmesi gereken kayıtlar gelmiyordu. Kullandığım kod parçasıda aşağıdaki gibi VB.NET

C#
Dim thsg = From th In db.tahsilatodemes _

                 Where th.tahsiltipi = 1 And th.tarih = TextBox1.Text And th.taksit.GetValueOrDefault = 0 Select th
        For Each t In thsg
            Dim kyt As New Kasas With _
            {.Aciklama = t.cariadi.Trim + " " + t.aciklama.Trim, _
             .GelirGider = 1, _
             .Gelir = t.tutar, _
             .glh = t.ghs, _
             .glm = t.gelirmerkezi, _
             .Bayikodu = t.bayikodu, _
             .Hesap = "Cari Tahsilatlar", _
             .Tarih = TextBox1.Text, _
             .sil = 1}
            db.Kasas.InsertOnSubmit(kyt)
            db.SubmitChanges()
        Next

10

Re: LinqPad 2.0 beta cikti

th.taksit.CompareTo(0)==0 da aynı işi görür eğer problem buysa.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

11

Re: LinqPad 2.0 beta cikti

Metin,
CompareTo  metodu iki string arasında öncelik sırası yada büyük küçük gibi karşılaştırmaları yapıyor. Linq  sorgulamasında bu fonksiyon işe yaramıyor. Ya da diğer bir deyişle kullanılamıyor. Ya da kullanılıyorsa da nasıl olduğunu ben bilmiyorum.

12

Re: LinqPad 2.0 beta cikti

ben de iki günlük netçiyim daha. olabilir... smile

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com