我在表中有两列,我使用代码第一种方法创建它们然后我在C#模型中更改了它们的数据类型而不是实际的数据库,最后我尝试了以后的迁移以便在数据库中更改它们的数据类型< / p>
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'中的列名“价格”被多次指定
提前致谢
答案 0 :(得分:2)
如果我写了这个代码,应该删除Price列和ShortageMargin列并重新创建它们
不是,你的&#34; up&#34;添加列。 &#34; down&#34;部分仅在您希望降级&#34;您的数据库(ou还原迁移)。 我不知道您是如何更改对象类型的,以及您运行“添加 - 迁移”的版本。命令,但你应该有一个脚本用&#34; AlterColumn 而不是 AddColumn