繁体   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