Üç tablom var. İki tanesi eşit olarak katılıyor ama bir tanesi bir sol ile birleşmeye ihtiyaç duyacak. Bunu linq'de ancak sadece iki tablo arasında yapmak için çok fazla kod buluyorum.Üç tabloyu birleştirmek ve sol dış birleştirme kullanmak
LINQ içinde yeniden kodlamaya çalıştığım SQL kodu İşte.
SELECT PRSN.NAME
,CO.NAME
,PROD.NAME
FROM PERSON PRSN
INNER JOIN COMPANY CO ON PRSN.PERSON_ID = CO.PERSON_ID
LEFT OUTER JOIN PRODUCT PROD ON PROD.PERSON_ID = PROD.PERSON_ID;
Temel olarak kullandığım LINQ kodunun bir pasajı. Üçüncü tabloyu (örnek SQL'imde bulunan ürün) LINQ ile ve sol dış birleştirme ile bir araya getiremiyorum. Örnek iki tablo arasındadır. Her ipucu için teşekkürler.
var leftOuterJoinQuery =
from category in categories
join prod in products on category.ID equals prod.CategoryID into prodGroup
from item in prodGroup.DefaultIfEmpty(new Product{Name = String.Empty, CategoryID = 0})
select new { CatName = category.Name, ProdName = item.Name };
Michael
... çok teşekkür ederim! Bu benim için çalışıyor. – MdeVera
endişelenme, dostum. Son zamanlarda aynı problemi yaşadım ... anlamaya biraz zaman ayırdım. paylaşmaktan mutluluk duyuyoruz :) – Beno
@Beno Her masanın üzerinde bir dış ve bir dış birleşim yerine sol dış birleştirmeyi kullanmak istiyorsanız ne yaparsınız? – mko