A
B
C
Ç
D
E
F
G
Ğ
H
I
İ
J
K
L
M
N
O
P
R
S
Ş
T
U
Ü
V
Y
Z
Q
W
X
+ Ekle
From SQL to LINQ

From SQL to LINQ

LINQ’da birazcık pratik yapmak adına bazı select sorgularının LINQ’da yazılışlarını ve de CRUD(Insert, Update, Delete) işlemlerini daha iyi anlamamızı sağlayacak birkaç örnek yapalım. Basitten karmaşığa doğru bu konu altında sorguları yazmaya devam edelim inşaAllah. Sizlerinde katkısıyla bol bol LINQ örnekleri arşivi hazırlayabiliriz.

Örneklerimiz için "CW" adında database oluşturmuştum. Buraya aşağıdaki gibi "Haberciler" adında yeni bir tablo ekleyelim.

Create Table Haberciler
(
    
      
[HaberID] [int] IDENTITY(1,1) NOT
NULL,



      
[Haberci] [nvarchar](50) NOT
NULL,
      
[HaberBaslik] [nvarchar](50) NOT
NULL,
      
[YayinTarihi] [date] NOT
NULL,
       Constraint [PK_Akincilar] Primary Key Clustered ( [HaberID] asc
)
)

Database hazır, tablomuzuda oluşturduğumuza göre örneklere başlayalım. LINQ’u daha iyi kavramak için her uygulamada olduğu gibi bol bol pratik yapmak gerekecektir. Bunun için güzel bir uygulama olan a rel="nofollow" href="http://www.linqpad.net/" target=_blank>LINQPAD
 editöründen çok yararlandım. Aşağıda editöre ait ekran görüntüsü var.
 

 
Önce SQL sorgusunu ardından da LINQ’da yazılışlarını gösterelim.
 

 
Union, SQL’de iki tabloyu birleştirmek için kullanılırken LINQ’da bir tabloya ait iki nesneyi birleştirmek amacıyla kullanılır. Bu nedenle "Akincilar" adında bir tablo daha oluşturulalım ve örneğimize uygulayalım.
 

 

SQL’de "and, or" ifadelerinin yerine LINQ’da "&&, ||" ifadeleri yazılır. Ayrıca eşitlik için "==" kullanılır.
 

 
SQL’de Like anahtar sözcüğü ile yaptığımız arama kriterlerini LINQ’da ise aşağıdaki metotlarla yapabiliyoruz.
 

 
Yukardaki örneklerde görüldüğü gibi aynı şekilde Max ve Min içinde sorgular yazılabilir. Yalnız LINQ’da AVG yerine Average() metotu kullanılır.