簡體   English   中英

多次指定列名EF代碼首次遷移

[英]Column name is specified more than once EF Code First Migration

我在表中有兩列,我首先使用代碼創建了它們,然后在C#模型中而不是在實際數據庫中更改了它們的數據類型,最后我嘗試了稍后的遷移以更改數據庫中的數據類型

public partial class PriceAndMargin : DbMigration
{
    public override void Up()
    {
        AddColumn("dbo.Items", "Price", c => c.Int(nullable: false));
        AddColumn("dbo.Items", "ShortageMargin", c => c.Int(nullable: false));
    }

    public override void Down()
    {
        DropColumn("dbo.Items", "ShortageMargin");
        DropColumn("dbo.Items", "Price");
    }
}

如果我編寫了此代碼,則應刪除Price列和ShortageMargin列並重新創建它們,但相反,它將在控制台中顯示此消息

每個表中的列名必須唯一。 表“ dbo.Items”中的列名“ Price”被多次指定

提前致謝

如果我編寫了此代碼,則應刪除Price列和ShortageMargin列並重新創建它們

並非如此,您的“上”添加了各列。 僅在您要“降級”數據庫(還原遷移)時才使用“ down”部分。 我不知道您如何更改對象的類型,以及從哪個版本運行了“ add-migration”命令,但是您應該使用“ AlterColumn而不是AddColumn ”腳本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM