[英]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.