2009-07-10 7 views
13

LINQ से SQL में एकाधिक कॉलम द्वारा आप कैसे समूहबद्ध करते हैं?LINQ से SQL में एकाधिक कॉलम द्वारा आप कैसे समूहबद्ध करते हैं?

db.Table.GroupBy(a => a.column1.ToString() + a.column2.ToString()) 

यह बदसूरत और खराब प्रदर्शन के साथ लगता है, और मुझे यह भी नहीं पता कि यह काम करता है या नहीं। ऐसा करने का सही तरीका कौन सा है? एक गुमनाम प्रकार से

उत्तर

16

कोशिश समूहन:

group by new { item.Col1, item.Col2 } 

आप तो Key.Col1 उपयोग करने में सक्षम हो जाएगा, आदि

+0

यह काम करता है करता है? AnonTypes स्वचालित रूप से बराबर और GetHashCode लागू करते हैं तो आपको इसके बारे में चिंता करने की ज़रूरत नहीं है? –

+0

बस इसका परीक्षण किया, और आप सही हैं। टेस्ट कोड: var a = new {ए = 1, बी = 2}; var बी = नया {ए = 1, बी = 2}; var c = new {ए = 1, बी = 3}; Assert.AreEqual (ए, बी); Assert.AreNotEqual (ए, सी); –

+5

हाँ यह काम करता है, यह आधिकारिक तरीका है। यहां एक अच्छा संदर्भ है: http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx –

संबंधित मुद्दे