我有一个带有列ID,REGDATE和EVENT_NAME的简单表。我已将SYSDATE设置为REGDATE列的默认值。如果我从SQL Developer中直接插入记录,则当前日期写入REGDATE列。但是,如果我使用实体框架插入记录REGDATE列具有NULL。在使用Entity Framwork时不要使用数据库默认值?我需要做什么?使用实体框架时不写入默认值
回答
你可以做到这一点的一种方法是,当你实例化一个新类型的对象时,在你的类中有一个构造函数来自动设置该默认值。这与Ladislav对this SO question的回答类似。
你可以设置该属性,StoreGeneratedpattern
到Computed
然后EF不会更新它,但是你也不能。此方法将解决您列中的Db默认值。
这并不能真正解决OP的所有问题,然后...... – IronMan84
OP从未说过他想通过EF维持该值。所以我明确表示使用这种方法有其不足之处。 –
您提出的建议确实会做我所需要的,因为我需要写入的默认值永远不会再被更改。但是我仍然看不到写入列的默认值。 –
- 1. 实体框架默认值
- 2. 实体框架外键默认值
- 3. 实体框架:设置回默认值
- 4. 实体框架和默认值
- 5. 实体框架默认值SYSDATETIMEOFFSET
- 6. 实体框架4和默认值
- 7. 默认实体框架超时
- 8. 实体框架 - 使用数据注释属性的默认值
- 9. 使用实体框架4.3为模型设置默认值
- 10. 如何使用实体框架C#定义默认值?
- 11. 实体框架4.0使用数据库默认值
- 12. 如何使用默认的实体框架和默认的日期值
- 13. 实体框架表值函数 - 默认实体映射
- 14. 实体框架6码首先在插入默认datetime值
- 15. 实体框架不使用用户默认模式
- 16. 插入时实体框架数据库默认允许更新
- 17. 实体框架问题日期时间字段和默认值
- 18. 使用DbContext - 实体框架4.1如何为实体设置默认值
- 19. 通过实体框架插入实体到具有默认值列的表
- 20. 实体框架 - 默认值不在sql server表中设置
- 21. 实体框架 - 默认子对象
- 22. 实体框架一对多默认
- 23. 实体框架中的默认约束
- 24. 实体框架查询本地默认
- 25. 实体框架和默认日期
- 26. 实体框架代码使用默认SQL实例时的第一次超时
- 27. 禁用实体框架的默认值生成(代码优先)
- 28. 实体框架 - 使用默认参数调用存储过程
- 29. 使用默认成员关系的MVC3实体框架
- 30. 默认与自定义使用实体框架
在Sql中,如果您未在插入语句中指定列,则只会将您的默认值插入到REGDATE列中。如果您查看EF在插入值时生成的查询,则可能指定将null插入到列中,这就是为什么您没有获得默认值。从我读到的,EF不支持SQL默认值。 IronMan的解决方案是我见过的最清洁的解决方案。 –