उत्पन्न करने के बाद एसक्यूएल GROUP के LINQ, इस उदाहरण में खंड होने के लिए LINQ करने के लिए एसक्यूएल रूपांतरण:द्वारा सभी नमूनों के अनुसार के रूप में ही सबक्वेरी
SELECT NAME
FROM TABLES
GROUP BY NAME
HAVING COUNT(*) > 1
है: (vb.net)
from t in tables
group t by t.NAME into g = Group
where g.count > 1
select g
लेकिन इसके बाद के संस्करण LINQ बयान निम्नलिखित एसक्यूएल करने के लिए अनुवाद किया है:
SELECT [t1].[NAME] AS [Key]
FROM (
SELECT COUNT(*) AS [value], [t0].[NAME]
FROM [tables] AS [t0]
WHERE [t0].[NAME] <> @p0
GROUP BY [t0].[NAME]
) AS [t1]
WHERE [t1].[value] > @p1
मैं कभी भी हैविंग क्लॉज फॉर्म LINQ उत्पन्न करने में सफल नहीं हूं। मान लें कि WHERE के साथ HAVING और subquery समूह परिणाम के बराबर हैं, लेकिन प्रदर्शन में कोई अंतर है? मेरे मूल एसक्यूएल प्रश्नों को कम से कम सिमिलर रखने के बारे में क्या LINQ अंतर्निहित उत्पन्न करता है?