【发布时间】:2012-12-26 03:32:04
【问题描述】:
我有一个简单的表,其中包含 ID、REGDATE 和 EVENT_NAME 列。我已将 SYSDATE 设置为 REGDATE 列的默认值。如果我从 SQL Developer 插入一条记录,当前日期将写入 REGDATE 列。但是,如果我插入一条带有 Entity Framework REGDATE 列的记录有 NULL。使用实体框架时数据库默认值不工作吗?我该怎么办?
【问题讨论】:
-
在 Sql 中,如果您未在插入语句中指定列,您的默认值只会插入到 REGDATE 列中。如果您查看 EF 在插入您的值时生成的查询,很可能指定 null 应该插入到列中,这就是您没有得到默认值的原因。根据我的阅读,EF 不支持 SQL 默认值。 IronMan 的解决方案是我见过的最干净的解决方案。
-
另外,如果字段不为空,MS SQL 只会在字段中插入默认值。可空字段不使用默认值。首先,数据库列必须不为空。
标签: oracle entity-framework default-value