इसे हल किया।
अपनी माइग्रेशन फ़ाइल में, .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 कमांड दिखाई देंगे