我剛從一個代碼優先的模型從實體框架6.0.2升級到6.1.0。將實體框架升級到6.1 - 索引已經存在錯誤
升級後,context.Database.CompatibleWithModel(true)
返回false,因此EF認爲數據庫不再與模型兼容。我沒有改變任何東西,只是升級EF。
我跑Add-Migration
,看看會發生什麼,EF創建一個大的遷移,似乎對每個表的每個外鍵屬性創建索引:
public override void Up()
{
CreateIndex("dbo.ActivityStreams", "UserId");
CreateIndex("dbo.Users", "OfficeId");
CreateIndex("dbo.Offices", "ParentId");
CreateIndex("dbo.Rosters", "UserId");
...and many more similar lines...
我想這是關係到新的索引EF 6.1的功能?有點奇怪,但確定。
當我Update-Database
應用新遷移時,存在索引已存在的錯誤。查看數據庫和以前的遷移,幾乎所有的索引確實已經存在。
我在這裏做了什麼錯?是否有升級EF的程序?
你自己創建了任何索引嗎? –
不,所有現有的索引都是由EF遷移創建的。 –
這裏的情況完全相同。確實存在一個錯誤 - ( – trailmax