#2226·Dapper

在 'date' 列上,DateOnly/DateTime 强制转换的差距 (与 Npgsql 10 不同,而 SqlClient 则相反)

作者: mgravell创建于 2026年8月20日更新于 2026年8月20日

DapperLib/DapperAOT#202(被固定在DapperLib/DapperAOT#203的AOT一侧;香草有相同的缺口,双向. 相邻但与#2072相区别.

Npgsql 10 更改了“ reader.GetValue()”以返回“仅日期”而不是“时间”。 与Dapper 2.1.72相对立,并有 " 日期 " 一栏,标有 " 2021-01-01 " :

Npgsql 9.02 ( " 日期 " 盒) Npgsql 10.02 ( " 仅限日期 " 盒) Sqlclient ( " 日期 " 盒) | -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --


{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}时间? POCO " 日期 " 成员 相同 POCO"只约会"成员 QQ"数据排除"("atetime" box) 与Npgsql 9同名.

因此,在读取的路径上,没有 " Date Only-DateTime " 向两个方向的强制: " DateTime " 键入 " DateTime " 键入成员;Npgsql 10(键入 " Date Only " 键入成员并打出分数。 每个提供者/版本组合都有一个工作方向和一个断裂方向,这使得Npgsql升级成为任何将日期读作“日期”的模型的断裂变化。

AOT- side 修正只是接受转换辅助器中的任意一个框形状,按运行时间值键——仅限日期'-仅限时间'。 时间 ' 指标的 " MinValue " ,与 " 时间 " 目标相对应;同样的待遇符合灵活选择 ' /此处的解析路径。

Repro是一个30行控制台应用软件(新鲜的'postgres:16'容器+'select'2021-01-01':date');乐于将固定装置PR.

内容来源: DapperLib/Dapper