मैं एक और बात जोड़ना चाहते हैं। LINQ से SQL में यदि आपका डीबी ठीक तरह से बनाया गया है और आपकी तालिकाएं विदेशी कुंजी बाधाओं से संबंधित हैं, तो आपको बिल्कुल शामिल होने की आवश्यकता नहीं है।
//Querying from both the CustomerInfo table and OrderInfo table
from cust in CustomerInfo
where cust.CustomerID == 123456
select new {cust, cust.OrderInfo}
कौन सा LEFT OUTER JOIN
ऊपर नीचे
-- Region Parameters
DECLARE @p0 Int = 123456
-- EndRegion
SELECT [t0].[CustomerID], [t0].[AlternateCustomerID], [t1].[OrderID], [t1].[OnlineOrderID], (
SELECT COUNT(*)
FROM [OrderInfo] AS [t2]
WHERE [t2].[CustomerID] = [t0].[CustomerID]
) AS [value]
FROM [CustomerInfo] AS [t0]
LEFT OUTER JOIN [OrderInfo] AS [t1] ON [t1].[CustomerID] = [t0].[CustomerID]
WHERE [t0].[CustomerID] = @p0
ORDER BY [t0].[CustomerID], [t1].[OrderID]
सूचना (थोड़ा छोटा कर दिया) क्वेरी के लिए अनुवाद किया गया था:
LINQPad का उपयोग मैं निम्नलिखित LINQ क्वेरी बनाया।
स्रोत
2015-04-03 13:21:57
LINQ से इकाइयों को विधि पहचान नहीं है डिफ़ॉल्ट IFEmpty ... –
क्या कोई यह समझ सकता है कि यह पागल वाक्यविन्यास कैसे काम करता है? मैं यह देखने में असफल रहा कि उन खोजशब्दों में से कोई भी जादूगर रूप से इसे बाएं शामिल करता है। "एसआर में" क्या करता है? लिंक मुझे कभी-कभी निराश करता है :) –
@ जो फिलिप्स मेरे पास बहुत सारे SQL अनुभव हैं लेकिन LINQ सीखने की कोशिश करना मिट्टी के माध्यम से wading है। मैं मानता हूं कि यह बिल्कुल पागल है। –