第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

EF:不正確使用空間/全文/哈希索引和顯式索引順序

EF:不正確使用空間/全文/哈希索引和顯式索引順序

C#
慕的地6264312 2021-05-07 14:16:48
我在我的WEB Api項(xiàng)目中使用了Entity Framework。我使用代碼優(yōu)先遷移。事情是:進(jìn)行初始遷移并嘗試更新數(shù)據(jù)庫(kù)后,出現(xiàn)此錯(cuò)誤不正確使用空間/全文/哈希索引和顯式索引順序這是由更新數(shù)據(jù)庫(kù)中的此SQL命令引起的:create table `Articles` ( `articleId` int not null  auto_increment , `title` longtext not null , `digest` longtext, `content` longtext not null , `imgLink` longtext not null , `releaseDate` datetime, `userId` int not null ,  primary key ( `articleId`)) engine=InnoDb auto_increment=0  CREATE index  `IX_userId` on `Articles` (`userId` DESC) using HASHSQL命令是從遷移中的以下代碼生成的: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);似乎在創(chuàng)建索引時(shí)出現(xiàn)DESC和HASH會(huì)導(dǎo)致此錯(cuò)誤。關(guān)于如何更改生成的sql索引創(chuàng)建的任何想法,使其與簡(jiǎn)單的索引一起使用?或者只是簡(jiǎn)單地繞過(guò)此錯(cuò)誤,以便我的更新數(shù)據(jù)庫(kù)可以通過(guò)?謝謝 !
查看完整描述

1 回答

?
阿晨1998

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命令將顯示


查看完整回答
反對(duì) 回復(fù) 2021-05-21
  • 1 回答
  • 0 關(guān)注
  • 203 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)