EF Code First 怎么定义字段的默认值
EF Code First 如何定义字段的默认值?
使用的是EF 6.0,采用Data Annotations的下列两种方式都效果,不知道还有没有别的书写方式?
方式1:
方式2:
如果采用Fluent API,该如何定义默认值呢?
------解决思路----------------------
没用过,找到两个讨论,看看那有没有用
How can set a default value constraint with Entity Framework 6 Code First?
http://stackoverflow.com/questions/20136504/how-can-set-a-default-value-constraint-with-entity-framework-6-code-first
EntityFramework Code First FluentAPI DefaultValue in EF6.X
http://stackoverflow.com/questions/20199382/entityframework-code-first-fluentapi-defaultvalue-in-ef6-x
------解决思路----------------------
这种写法没用吧,DefaultValue只是用来给控件拖入UI编辑器用的默认值。
如果你需要的默认值是在入库时写入的值,那可以在字段的get方法上做手脚,判断值为null的话就给它你要的默认值。同样,从库获取数据时在set方法上做手脚,为null时给它默认值。当然,这个只是在程序中转换默认值而已,不会对数据库字段定义起作用的。要想字段定义默认值,那就要用flunt api方式定义了。
使用的是EF 6.0,采用Data Annotations的下列两种方式都效果,不知道还有没有别的书写方式?
方式1:
public partial class MyModel
{
[DefaultValue(0)]
public int Field1 { get; set; }
}
方式2:
public partial class MyModel
{
public MyModel
{
Field1 = 0;
}
public int Field1 { get; set; }
}
如果采用Fluent API,该如何定义默认值呢?
------解决思路----------------------
没用过,找到两个讨论,看看那有没有用
How can set a default value constraint with Entity Framework 6 Code First?
http://stackoverflow.com/questions/20136504/how-can-set-a-default-value-constraint-with-entity-framework-6-code-first
EntityFramework Code First FluentAPI DefaultValue in EF6.X
http://stackoverflow.com/questions/20199382/entityframework-code-first-fluentapi-defaultvalue-in-ef6-x
------解决思路----------------------
public partial class MyModel
{
[DefaultValue(0)]
public int Field1 { get; set; }
}
这种写法没用吧,DefaultValue只是用来给控件拖入UI编辑器用的默认值。
如果你需要的默认值是在入库时写入的值,那可以在字段的get方法上做手脚,判断值为null的话就给它你要的默认值。同样,从库获取数据时在set方法上做手脚,为null时给它默认值。当然,这个只是在程序中转换默认值而已,不会对数据库字段定义起作用的。要想字段定义默认值,那就要用flunt api方式定义了。