इकाई ढांचे का उपयोग करके "Col1 द्वारा आदेश, Col2"


117

मुझे इकाई ढांचे का उपयोग करके 2 कॉलम द्वारा ऑर्डर करने की आवश्यकता है।

कैसे किया जाता है?

return _repository.GetSomething().OrderBy(x => x.Col1   .. Col2)?

अर्थात

SELECT * FROM Foo ORDER BY Col1, Col2

जवाबों:


244

कोशिश करो OrderBy(x => x.Col1).ThenBy(x => x.Col2)। यह एक LINQ सुविधा है, वैसे भी, EF के लिए अनन्य नहीं है।


50

दूसरा रास्ता:

qqq.OrderBy(x => new { x.Col1, x.Col2} )

आप इस तरह से कैसे उतरते हैं?
user551113

10
qqq.rderByDescending (x => new {x.Col1, x.Col2})
parfilko

7
जब मुझे दो स्ट्रिंग फ़ील्ड पर EntityFramework Core के साथ उपयोग किया जाता है, तो "कम से कम एक ऑब्जेक्ट को IComparable" त्रुटि संदेश लागू करना होगा।
छठे स्टॉर्म 1

26

प्रयत्न:

OrderBy(x => x.Col1).ThenBy(x => x.Col2)

अवरोही क्रम से यह प्रयास करें:

OrderByDescending (x => x.Col1).ThenByDescending (x => x.Col2)

1

निम्नलिखित छँटाई DB स्तर में होती है। लौटे परिणाम पर नहीं।

प्रयत्न:

IQueryable<a>.OrderBy("col1 asc, col2 asc")

उदाहरण 1:

ctx.CateringOrders.OrderBy("Details.DeliveryDate asc, Details.DeliveryTime asc")

उदाहरण 2:

ctx.CateringOrders.OrderBy("{0} {1}, {2} {3}", 
    "Details.DeliveryDate", "asc",
    "Details.DeliveryTime", "asc" 
)

जहां IQueryable<a>इकाई क्वेरी है, "col1 asc"कॉलम 1 है और सॉर्टिंग दिशा "col2 asc"स्तंभ 2 और सॉर्टिंग दिशा है


-6

कृपया ध्यान दें, यह Telerik की ग्रिड या किसी अन्य Telerik के DataSource घटक के साथ काम नहीं करेगा। हालाँकि यह पूर्वनिर्मित IQueryable ऑब्जेक्ट का उपयोग करता है, लेकिन छँटाई हमेशा स्वचालित रूप से आपकी छँटाई सेटिंग्स को प्रभावी ढंग से अंतिम चरण के रूप में की जाती है।

आपको अनुसरण करना होगा : ग्रिड में डिफ़ॉल्ट प्रकार निर्दिष्ट करना

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.