好像不可以,请看setting default value for code only:
Code First doesn't currently provide a mechanism for providing column default values.
You will need to manually modify the generated DDL to add them.
为什么不在构造函数中设置默认值呢?
我认为构造函数设置默认值跟OO跟贴近。
对于编辑页面,如果某个成员值未指定,则为NULL,这个时候默认值也被改变了。有什么解决办法么?
我也想指导答案,求解?
我也在找答案,例如,create table dbo.tt( field1 int default(0) not null, field2 int default(0) not null )
在model中
public class tt{
public field1 int {get;set;}
public field2 int {get;set;}
}
public DbSet<tt> tts{ get; set; }
在controller中:
var a=new tt(){
a.field1 = 1;
}
db.tts.Add(a);
这时就会报错,因为field2毛有赋值,为NULL,在插入数据库时出错。就象是执行了语句
insert into tt(field1,field2) values (1, NULL) 这样的效果。
其实我想要的效果是 insert into tt(field1) values (1) 。field2就不要管它,让它用默认值。
可EF就是要管,而且硬给个NULL。 怎么让EF按我的意图正确操作数据库呢?