达梦版本: DM8 1-2-61-21.08.17-145730-10000-ENT
CPU: x86_64
系统: windows 10
在.Net Core 3.1 的达梦EF方言库中
数据库中的TIME
类型的字段在读取后被默认映射为了DateTime
类型,而非TimeSpan
类型。
由于映射错误导致读取包含TIME
类型的字段的实体类时会在类型为TimeSpan
的属性上发生赋值错误
Unable to cast object of type 'System.DateTime' to type 'System.TimeSpan'.
不可能接受将实体类属性改为DateTime
的方案,因为在EF下其他数据库对于TIME
类型映射的CLR类型都是TimeSpan
,改变属性类型后会导致在其他数据库框架下发生赋值错误
DmProvider 版本 1.1.0.18073
Microsoft.EntityFrameworkCore.Dm 版本 3.1.0.17143
该问题依然存在
驱动层有个转换配置,添加dbtimeToTimeSpan=true就会转成TimeSpan。