C# EF-未设置列默认值

C# EF-未设置列默认值,c#,mysql,entity-framework,ef-code-first,entity-framework-migrations,C#,Mysql,Entity Framework,Ef Code First,Entity Framework Migrations,我首先使用EF代码,并在迁移文件中包含以下内容 public override void Up() { AddColumn("dbo.ConsumerFee", "VATCodeId", c => c.Int(nullable: false, defaultValue: 1)); } 但是,当该列添加到表中时,它的默认值为0而不是1。当我手动运行迁移时,我可以看到它生成以下sql: alter table `ConsumerFee` add column `VATCodeId`

我首先使用EF代码,并在迁移文件中包含以下内容

public override void Up()
{
    AddColumn("dbo.ConsumerFee", "VATCodeId", c => c.Int(nullable: false, defaultValue: 1));
}
但是,当该列添加到表中时,它的默认值为0而不是1。当我手动运行迁移时,我可以看到它生成以下sql:

alter table `ConsumerFee` add column `VATCodeId` int not null

你知道这是怎么回事吗?

这件事也发生在我身上,真让人扫兴。但是我发现defaultValueSql:“1”可以为该列设置默认sql表达式


AddColumn(“dbo.ConsumerFee”,“VATCodeId”,c=>c.Int(可空:false,defaultValueSql:“1”)

这件事也发生在我身上,真让人扫兴。但是我发现defaultValueSql:“1”可以为该列设置默认sql表达式

AddColumn(“dbo.ConsumerFee”,“VATCodeId”,c=>c.Int(可空:false,defaultValueSql:“1”)

在EF6中不可用。请参阅EF6中的“不可用”。看见