首页 新闻 会员 周边 捐助

EF4.1 Code First 生成数据库前,字段属性如何在实体里面设置默认值?

0
悬赏园豆:5 [已解决问题] 解决于 2012-02-07 09:48

EF Code First 生成数据库前字段属性如何在实体里面设置默认值

比如设置一个字段默认时间或者默认为0

TowerShang的主页 TowerShang | 初学一级 | 园豆:160
提问于:2011-12-13 11:03
< >
分享
最佳答案
-2

好像不可以,请看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.

收获园豆:5
dudu | 高人七级 |园豆:30431 | 2011-12-13 11:17
其他回答(4)
0

为什么不在构造函数中设置默认值呢?

我认为构造函数设置默认值跟OO跟贴近。

today4king | 园豆:3499 (老鸟四级) | 2011-12-13 11:35
0

对于编辑页面,如果某个成员值未指定,则为NULL,这个时候默认值也被改变了。有什么解决办法么?

VinLexn | 园豆:165 (初学一级) | 2013-03-09 14:45
0

我也想指导答案,求解?

十里源码 | 园豆:179 (初学一级) | 2013-12-03 17:22
0

我也在找答案,例如,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按我的意图正确操作数据库呢?

sunsight | 园豆:202 (菜鸟二级) | 2014-04-29 18:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册