2010-08-30 14 views
6

क्या इकाई फ्रेमवर्क 4 ने संग्रह का आदेश दिया है?क्या ईएफ ने संग्रह का आदेश दिया है? NHibernate Bag Vs Set Vs सूची में सूची के बराबर सूची

उदाहरण के लिए मेरे ऑर्डर में ऐसी संपत्ति है जो ऑर्डरइटम का संग्रह है, लेकिन ऑर्डर महत्वपूर्ण है और मैं उन्हें एक्सेस करने से पहले उन्हें सॉर्ट नहीं करना चाहूंगा।

एक उदाहरण के लिए Nhibernate देखें: List vs Set vs Bag in NHibernate

उत्तर

4

यह नहीं करता है। आप कई तरीकों से तथापि में एक आदेश के लिए मजबूर कर सकते हैं:

इस उत्तर एक EF4 LINQ Ordering Parent and all child collections with Eager Loading (.Include()) (एक तरह से) बताते हैं

अधिक बस, यदि आप एक ही क्रम में जानना चाहते हैं, तो आप ऐसा अवधियाँ एक में आदेश दिया साथ कर सकते हैं निर्दिष्ट तरीका:

var thing = _repo.GetOrder(id) 
.Select(item => 
    new { item, ord = item.orderlines.OrderBy(o => o.orderbythis) } 
    ).FirstOrDefault().item; 
+0

ध्यान रखें कि यह "ord" के बिना "आइटम" वापस कर देगा - आपने अनुमानित प्रकार में "ord" अज्ञात संपत्ति को वापस सौंपा नहीं है। – RPM1984

+0

हाँ मुझे पता है। हालांकि item.orderlines निर्दिष्ट तरीके से आदेश दिया गया है। मुझे लगता है कि भविष्य में रिलीज में यह एक खतरा हो सकता है, लेकिन यह काम करता है! अगर कोई यह समझा सकता है कि यह क्यों काम करता है तो मुझे जानना अच्छा लगेगा! – Andiih

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