我已经定义了这个精美的表格。
create table WeirdDonkey (
Tails int not null,
Heads int default 7
)
当我在上面运行EF时,会创建两个字段,如下所示。
public int Tails { get; set; }
public Nullable<int> Heads { get; set; }
现在,我明白为什么它认为磁头的数量可以为空,但它没有任何意义。驴不能有 null 头。如果没有指定其他内容,它可以有7。 (嗯,这在动物学方面没有任何意义,但让我们假装我们在一个遵循我的SQL魔法规则的不同星球上。)
如何让EF了解默认值是7并且没有无头驴?
答案 0 :(得分:4)
EF是对的。 Heads
可以为空。如果在插入行后,您决定将Heads
值更新为null
,会发生什么。数据库不接受吗?是的,它会。
如果您不想要空值,则必须明确定义它:
create table WeirdDonkey (
Tails int not null,
Heads int not null default 7
)