注册

DmProvider对达梦数据库的时间(TIME)类型的默认CLR映射错误

飞羽流星 2021/08/26 1309 1 已解决

达梦版本: 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,改变属性类型后会导致在其他数据库框架下发生赋值错误

2023/10/30更新:

DmProvider 版本 1.1.0.18073
Microsoft.EntityFrameworkCore.Dm 版本 3.1.0.17143
该问题依然存在

回答 0
暂无回答
扫一扫
联系客服