1 Son düzenleyen, Aligocmen (21.05.2012 14:31:17)

Konu: Linq + SQL Server

Arkadaşlar selam,

SQL Server ve Linq kullanıyorum. SQL server üzerinde oluşturduğum Relationlar dan sonra
LINQ to SQL ile yazdığım sorgularda JOIN kullanmama gerek kalmıyor mu ?
MSDN de http://msdn.microsoft.com/en-us/library/bb386932.aspx bir anlatım ve örnek var ama
ben  bunu kendi projemde realize edemedim. Yoksa ben mi yanlış anlıyorum olayı?

Acil cevap  10 dakika sonra sınavda gelicek smile

2

Re: Linq + SQL Server

JOIN'e gerek kalmıyor. İş SQL'den çıkıyor. Artık object query ve sonuçta object notation:

C#
var orders =  from c in db.Customers where c.CustomerId == "ALFKI" select c.Orders;

ALFKI'nin siparisleri ve her birisi 'object':

C#
foreach( var order in orders )

{
   Console.WriteLine( "Musteri: {0}, Tarih: {1}, OrderId: {2}, Kalem: {3}",
     order.Customer.CompanyName,
     order.OrderDate,
     order.OrderId,
     order.OrderDetails.Count() );
}

Daha detayli bilgi icin benim blog'a bakabilirsin:

http://http://cetinbasoz.wordpress.com

3

Re: Linq + SQL Server

Vay be..Customer sorgulayıp, order dosyasından siparişlerini döndürüyorsun.
Teşekkürler Çetin.

4

Re: Linq + SQL Server

Sinav nasil gecti:) Gec kalmisim.

Linq o kadarla kalmiyor bence ihmal etme.

5

Re: Linq + SQL Server

Valla bunun yerine :

SQL
SELECT [t0].[musteri], [t0].[musteri_id], [t1].[sat_id], [t1].[tarih], [t1].[belgeno], [t1].[musteri_id] AS [musteri_id2], [t1].[urun_id], [t1].[tutar], (    SELECT COUNT(*)    FROM [dbo].[satislar] AS [t2]    WHERE [t2].[musteri_id] = [t0].[musteri_id]    ) AS [value]FROM [dbo].[musteri] AS [t0]LEFT OUTER JOIN [dbo].[satislar] AS [t1] ON [t1].[musteri_id] = [t0].[musteri_id]WHERE [t0].[sehir] = @p0ORDER BY [t0].[musteri_id], [t1].[sat_id]

Bunu yazıyorsun:

SQL
Dim must = FROM m IN db.musteris _

            WHERE m.sehir = "SALİHLİ" _
            SELECT New WITH _
                   {m.musteri, _
                    m.musteri_id, _
                    m.satislars.Item(0).tarih, _
                    m.satislars.Item(0).tutar}

İyiki varsın Linq diyorum smile