09/05/2015 13

Linq ile AS ve Inner Join Kullanımı

Bu yazıda sizlere Linq to Sql ile normal Sql içinde as ve inner join ifadeleri nasıl kullanılır onu göstereceğim... İlk Olarak As ve inner join ne işe yarıyor onları bir hatırlayalım.

As : SQL de bazı tablolardan verileri çekip onları işleyerek yeni bir sütun oluşturmaktır. Ama bu sütün Sql tablomuzda yoktur. Bizler o anlık kullanım için oluştururuz. Bu işlem As ile yapılır.

Inner Join : Tabloda çektiğimiz veriyi götürüp başka bir tabloda işliyorsak ve orda bir sorgu yapıyorsak kullanılır.

Gelelim şimdi konumuz olan Bu ifadelerin Linq To Sql de nasıl kullanırız... İlk başta örnek bir kod paylaşayım ve onunla anlatmaya başlayayım...

Örnek Kodumuz :  

 var _sorgu = (from p in linq.users
                  select new
                   {
                        p.ID,
                        fullname = p.Name + " " + p.SurName,
                        p.Email,
                        usertype = (from b in linq.types where b.type_id == p.ID select b.type).First()

                  }).ToList();
 

Burada hem as ifadesi hemde inner join ifadesi bulunmakta. Eğer bizler veri çekerken yeni kolonlar oluşturmak istiyorsak verilerimizi aşağıdaki gibi çekeceğiz...

 

 var _sorgu = (from p in linq.users
           select new
           {
               //oluşturacağımız alanların tanımları buraya gelecek
           }).ToList();
  daha sonra sütun tanımlarımızı bu alana yazacağız.   Örnek olarak ben kullanıcının ad ve soyadını kullanarak fullname olarak ikisinide almak istiyorum o zaman

fullname = p.Name + " " + p.SurName,
şeklinde alanımı oluşturmalıyım. Bizler burda aslında as ifadesini kullanmış olduk.

Yani name ve Surname alanını birleştir bana fullname olarak getir demiş olduk. Bu alan tablomuza fullname olarak gelecektir.

Birde inner join kullanımına bakalım. inner join ise ilk tablomuzdaki verileri kullanarak başka tablodan veri çekme işlemidir.Onuda aşağıdaki gibi yapacağız :

usertype = (from b in linq.types where b.type_id == p.ID select b.type).First()
bu şekilde ben kullanıcı tablomdaki kullanıcının sütununda kayıtlı olan kullanıcı türü değerini; kullanıcı türleri tablomdaki değerle işleyip ordaki türü getirmiş oldum.

Yani tablomda kullanıcı türü 1 2 3 4 diye değilde admin mod editör vb. şekilde yazacak. artık onu tablonuzdan siz ayarlayacaksınız.

Bu yazımızda buraya kadar arkadaşlar. Umarım anlaşılnıştır.

İyi çalışmalar


Tags

Share this Post



Post a Comment

Success! Your comment sent to post. It will be showed after confirmation.
Error! There was an error sending your comment.

Comments

    There is no comment. Be the owner of first comment...