我基本上和这个人有完全相同的问题。
为什么我无法使用Entity Framework保存当前DateTime.Now
但他使用的是SQL Server,而我使用的是Oracle。(我的应用程序必须与两者兼容)
他的问题在于数据库级别没有正确设置精度。
我注意到,如果我手动编辑Oracle数据库中的毫秒数,EF可以提取带有毫秒的正确时间戳。 但是当我创建一个具有DateTime属性的实体并将其设置为“ DateTime.Now”时,它会被截断。
DateColumn1属性是Oracle类型Timestamp
我记录了插入语句
insert into "SchemaName"."TableName"("DateColumn1") values (:P0)
--:P0:'5/14/2015 4:07:27 PM' (Type = Date)
疯狂的是,在SQL Server中这是有效的。
DateColumn1
是 Oracle 中的date
类型列吗?Oracle 的date
类型有一个时间组件,但只能精确到秒。如果需要获取亚秒级别的精度,你需要使用timestamp
(或timestamp with time zone
或timestamp with local time zone
)。 - Justin Cave