2010-10-20 10 views
5

मैं इकाई ढांचे द्वारा लौटाई गई ऑब्जेक्ट के आंतरिक संग्रह को कैसे क्रमबद्ध करूं?इकाई ढांचे द्वारा लौटाई गई आंतरिक सूची को कैसे क्रमबद्ध करें?

public class X 
{ 
    public string Field {get; set;} 
    public EntityCollection<Y> Ys {get; set;} 
} 

public class Y 
{ 
    public string Field {get; set;} 
} 

from x in entities.Xs 
orderby x.Field 
select x 

वहाँ एक्स वस्तुओं लौट सकते हैं और भी वाई वस्तुओं अनुसार क्रमबद्ध करने के लिए यह LINQ क्वेरी को संशोधित करने के लिए एक रास्ता है? या जब मुझे वापस आता है तो क्या वाई सूची को मैन्युअल रूप से सॉर्ट करना होगा?

संपादित करें:

इस कोड को लौटना चाहिए एक्स का एक संग्रह वस्तुओं टाइप किया, अनाम टाइपिंग चालू परियोजना की आवश्यकताओं को पूरा नहीं करता है।

उत्तर

3
var sortedList = from x in entities.Xs 
       orderby x.Field 
       select new { 
        Field = x.Field, 
        y = (select y in x.Ys 
         orderby y.Field 
         select y) 
       }; 

संपादित: अगर आप गुमनाम प्रकार तो ऐसा नहीं करते हैं:

var sortedList = from x in entities.Xs 
       orderby x.Field 
       select new X { 
        Field = x.Field, 
        y = (select y in x.Ys 
         orderby y.Field 
         select y) 
       }; 
+0

मैं इस बारे में सोचा, लेकिन फिर मैं एक्स प्रकार के बजाय गुमनाम प्रकार के आसपास सौंपने की जाएगी। यह एक सेवा परत में रहने के लिए होता है इसलिए मुझे X. –

+0

@ जेरोद के रूप में रहने के लिए प्रकार की आवश्यकता होती है: तो 'इसके बजाय नया एक्स' चुनें: http://stackoverflow.com/questions/2450536/simple-way-to-return -नानाम-प्रकार-टू-मेक-एमवीसी-उपयोग-लिनक-संभव/2717690 # 2717690 –

+0

@ जेरोद डैनी की टिप्पणी ने मेरे संपादन को हराया ... लेकिन वैसे भी, मेरे संपादित उत्तर –

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