1 回答

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
解決了。
在您的遷移文件中,用如下的sql命令替換.Index條目
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()方法的底部添加相應(yīng)的SQL命令(對(duì)于每個(gè)索引)
Sql("CREATE index `IX_userId` on `Articles` (`userId` DESC)");
然后我為DataReaders添加的問(wèn)題與MySQL連接器有關(guān)。MySQL連接器不支持多個(gè)活動(dòng)連接。要處理此問(wèn)題,如果您的控制器中有此命令
public IEnumerable<Article> GetArticles()
{
return db.Articles;
}
現(xiàn)在應(yīng)該是
public IEnumerable<Article> GetArticles()
{
return db.Articles.ToList(); // ToList() will manage the request to work with only ONE data reader,
}
如果您不知道如何將.Index()轉(zhuǎn)換為SQL命令,只需
update-database -verbose
并且所有的SQL命令將顯示
- 1 回答
- 0 關(guān)注
- 203 瀏覽
添加回答
舉報(bào)