0
說,我定義在DB表如下實體框架4個,用於數字字段不尊重數據庫約束
表:富
PKID - INT,伯,自動增量
酒吧 - INT,允許空=假,沒有默認
現在,當從數據庫中生成EF模型時,'Bar'字段被正確地定義爲Nullable = false,Type = Int32。
現在,當我做了以下
var foo = new Foo();
context.AddToFoos(foo);
context.SaveChanges();
該行被插入到數據庫和「酒吧」有0值?我會期待一個例外,因爲Bar尚未設置。我意識到0不是null,但它也不是我設置的值。
這是設計還是我誤解了一些東西?
是的,我明白,但從技術上來說,價值尚未確定,首先就是約束所在。很奇怪。 – bic 2011-05-24 13:39:13
這是一個DB約束。對於.NET,Int32的默認值爲0.這就是爲什麼我說,數據庫沒有抱怨。 – 2011-05-24 13:42:09
謝謝,所以我可能不得不改寫/轉發我的問題。你知道我在EF尋找甚麼可能嗎? – bic 2011-05-24 13:44:18