我在数据库中有一列是不能为null的,并且我想要设置默认值在数据库中。问题是entity framework似乎会自动创建一个默认值(比如int => 0),并且完全忽略数据库中的默认值约束。
是否有办法禁用entity framework的默认值设定?
是否有办法禁用entity framework的默认值设定?
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
context.Database.ExecuteSqlCommand("ALTER TABLE TABLENAME ... ");
Database.SetInitializer(new DbInitializer());
通过这种方式,可以指定任何数据库DML/DDL命令来修改表/列,以确保数据库符合我们的要求。
public partial class YourEntityClass {
public YourEntityClass() {
this.PropertyNameWithDefaultValue = default(int);
}
}
您可以通过属性窗口更新EDMX
模型以更改任何列的默认值。但是,实体框架似乎不能自动捕获DEFAULT
约束。不确定是否有办法让它这样做。