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

EF:स्थानिक/पूर्ण पाठ/हैश अनुक्रमणिका और स्पष्ट अनुक्रमणिका क्रम का गलत उपयोग

इसे हल किया।

अपनी माइग्रेशन फ़ाइल में, .Index प्रविष्टियों को नीचे दिए गए sql कमांड से बदलें

CreateTable(
        "dbo.Articles",
        c => new
            {
                articleId = c.Int(nullable: false, identity: true),
                title = c.String(nullable: false, unicode: false),
                digest = c.String(unicode: false),
                content = c.String(nullable: false, unicode: false),
                imgLink = c.String(nullable: false, unicode: false),
                releaseDate = c.DateTime(precision: 0),
                userId = c.Int(nullable: false),
            })
        .PrimaryKey(t => t.articleId)
        .ForeignKey("dbo.Users", t => t.userId, cascadeDelete: true)
        .Index(t => t.userId); // REMOVE THIS

अपनी Up() विधि (प्रत्येक अनुक्रमणिका के लिए) के निचले भाग में संबंधित SQL कमांड जोड़ें

Sql("CREATE index `IX_userId` on `Articles` (`userId` DESC)");

डेटा रीडर्स के साथ मैं जो समस्याएं जोड़ता हूं वे MySQL कनेक्टर से संबंधित हैं। MySQL कनेक्टर एकाधिक सक्रिय कनेक्शन का समर्थन नहीं करता है। इसे संभालने के लिए, यदि आपके पास यह आपके नियंत्रक में था

public IEnumerable<Article> GetArticles()
{
    return db.Articles;
}

अब यह होना चाहिए

public IEnumerable<Article> GetArticles()
{
    return db.Articles.ToList(); // ToList() will manage the request to work with only ONE data reader, 
}

यदि आप नहीं जानते कि अपने .Index() को SQL कमांड में कैसे बदलें, तो बस

update-database -verbose

और सभी SQL कमांड दिखाई देंगे




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में सिंगल कोट्स से कैसे बचें

  2. सिद्धांत में LIMIT के साथ उपश्रेणी

  3. MySQL डेटाबेस को UTF-8 एन्कोडिंग में कैसे बदलें

  4. JSF डेटाटेबल में MySQL डेटाबेस से चित्र प्रदर्शित करना

  5. MySQL टाइमज़ोन परिवर्तन?