实体框架4不尊重数字字段的数据库约束

时间:2011-05-24 13:35:34

标签: entity-framework-4

说,我在DB中有一个表定义如下

表:Foo
PkId - int,primary,autoincrement
Bar - int,允许null = false,无默认值

现在,当从数据库生成EF模型时,“Bar”字段被正确定义为Nullable = false,Type = Int32。

现在,当我执行以下操作时

var foo = new Foo();  
context.AddToFoos(foo);  
context.SaveChanges();

该行是否已插入数据库,“Bar”的值为0?我本来期望一个例外,因为Bar尚未设置。我意识到0不是null,但它也不是我设置的值。

这是设计还是我误解了什么?

1 个答案:

答案 0 :(得分:2)

它不是可空的,因此是一个int。 int的默认值为0.所以DB很高兴,框架也很好。