说,我在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,但它也不是我设置的值。
这是设计还是我误解了什么?
答案 0 :(得分:2)
它不是可空的,因此是一个int。 int的默认值为0.所以DB很高兴,框架也很好。