Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या हम LINQ अभिव्यक्ति क्रम को स्किप (), टेक () और ऑर्डरबाय () के साथ नियंत्रित कर सकते हैं

मेरा समाधान समाधान

मैं इस समस्या को हल करने में कामयाब रहा हूं। मुझे यहाँ गलत मत समझो। मैंने अभी तक वरीयता के मुद्दे को हल नहीं किया है, लेकिन मैंने इसे कम कर दिया है।

मैंने क्या किया?

जब तक मुझे Devart . से कोई जवाब नहीं मिल जाता, तब तक मैंने इस कोड का उपयोग किया है . अगर वे इस समस्या को दूर करने में सक्षम नहीं होंगे तो मुझे अंत में इस कोड का उपयोग करना होगा।

// get ordered list of IDs
List<int> ids = ctx.MyEntitySet
    .Include(/* Related entity set that is needed in where clause */)
    .Where(/* filter */)
    .OrderByDescending(e => e.ChangedDate)
    .Select(e => e.Id)
    .ToList();

// get total count
int total = ids.Count;

if (total > 0)
{
    // get a single page of results
    List<MyEntity> result = ctx.MyEntitySet
        .Include(/* related entity set (as described above) */)
        .Include(/* additional entity set that's neede in end results */)
        .Where(string.Format("it.Id in {{{0}}}", string.Join(",", ids.ConvertAll(id => id.ToString()).Skip(pageSize * currentPageIndex).Take(pageSize).ToArray())))
        .OrderByDescending(e => e.ChangedOn)
        .ToList();
}

सबसे पहले मुझे अपनी संस्थाओं की आईडी का आदेश दिया जा रहा है। डेटा के बड़े सेट के साथ भी केवल आईडी प्राप्त करना अच्छा प्रदर्शन करता है। MySql क्वेरी काफी सरल है और वास्तव में अच्छा प्रदर्शन करती है। दूसरे भाग में मैं इन आईडी को विभाजित करता हूं और वास्तविक इकाई उदाहरण प्राप्त करने के लिए उनका उपयोग करता हूं।

इसके बारे में सोचते हुए, इसे शुरुआत में जिस तरह से मैं कर रहा था उससे भी बेहतर प्रदर्शन करना चाहिए (जैसा कि मेरे प्रश्न में वर्णित है), क्योंकि सरलीकृत क्वेरी के कारण कुल गिनती प्राप्त करना बहुत तेज है। दूसरा भाग व्यावहारिक रूप से बहुत समान है, सिवाय इसके कि मेरी संस्थाओं को Skip का उपयोग करके विभाजित करने के बजाय उनकी आईडी द्वारा लौटाया जाता है और Take ...

उम्मीद है कि किसी को यह समाधान मददगार लग सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php AJAX का उपयोग करके 3 निर्भर ड्रॉपडाउन सूची बनाएं mysql

  2. cfchart टैग का उपयोग करके एकल पाई चार्ट में एकाधिक प्रश्नों से डेटा प्रदर्शित करना

  3. Laravel 5.5 त्रुटि आधार तालिका या दृश्य पहले से मौजूद है:1050 तालिका 'उपयोगकर्ता' पहले से मौजूद है

  4. MySQL में एकाधिक श्रेणियों के लिए चल रहे योग

  5. त्रुटि कोड 13 , बाहरी मुद्दे में चयन करें