這是代碼遷移產生對我來說:遷移後與數據庫表和鍵名衝突。 Asp.Net MVC 5 EF 6
public override void Up()
{
CreateTable(
"dbo.ApplicationUserProjects",
c => new
{
ApplicationUser_Id = c.String(nullable: false, maxLength: 128),
Project_ID = c.Int(nullable: false),
})
.PrimaryKey(t => new { t.ApplicationUser_Id, t.Project_ID })
.ForeignKey("dbo.AspNetUsers", t => t.ApplicationUser_Id, cascadeDelete: true)
.ForeignKey("dbo.ProjectTbl", t => t.Project_ID, cascadeDelete: true)
.Index(t => t.ApplicationUser_Id)
.Index(t => t.Project_ID);
}
我更改數據庫名稱我喜歡的東西多了,也就鍵名(列名)。將數據庫名稱示例到「ProjectUsers」中,並將鍵轉換爲「ProjectID」和「UserID」。因此,新的代碼如下所示:
CreateTable(
"dbo.ProjectUsers",
c => new
{
ProjectID = c.Int(nullable: false),
UserId = c.String(nullable: false, maxLength: 128),
})
.PrimaryKey(t => new { t.ProjectID, t.UserId })
.ForeignKey("dbo.ProjectTbl", t => t.ProjectID, cascadeDelete: true)
.ForeignKey("dbo.AspNetUsers", t => t.UserId, cascadeDelete: true)
.Index(t => t.ProjectID)
.Index(t => t.UserId);
我通過運行遷移更新,表更新數據庫和一切變得與我給了數據庫和密鑰的名稱創建。但是,當我導航到頁面時,它會顯示: 當我撤銷數據庫名稱的更改但保留我自己的密鑰名稱時,會發生同樣的情況。
那麼,爲什麼會發生這種情況,幕後發生了什麼不希望應用程序使用新名稱?
時生成的表是一個導航臺。我爲每個模型設置了外部屬性,添加一個遷移,進行更改,運行update-migration命令,一切都以我想要的方式創建。但是,那麼錯誤出來了 – Arianit