插入数据时,属性为DateOnly时,拼出来的SQL日期多了时间部分 返回
我测试的实体类型如下:

执行后日志输出的SQL:
INSERT INTO "test_table"
("time_only","date_only","date_time_offset","date_time","tenant_id","id","is_deleted","state_code","is_system","create_time","create_user_id","update_time","update_user_id","version_number")
VALUES
(null,'2021-01-01 00:00:00.000',null,null,null,2012080770079920128,0,0,false,N'2026/1/16 8:33:32 +00:00',1001,N'2026/1/16 8:33:32 +00:00',1001,0) ;
'2021-01-01 00:00:00.000' 多了00:00:00.000这部分,期望的是'2021-01-01',数据库里面的类型是date,这种带时间的会报错提示: Cannot write DateTime with Kind=Unspecified to PostgreSQL type 'timestamp with time zone', only UTC is supported. Note that it's not possible to mix DateTimes with different Kinds in an array, range, or multirange. (Parameter 'value').
有什么好的办法解决吗?求助大佬
热忱回答(10)
-
fate sta VIP0
2026/1/18我这边测试一下
0 回复 -
爱咕咕的布咕 VIP0
2026/1/19@fate sta:麻烦大佬了
0 回复 -
爱咕咕的布咕 VIP0
2026/1/22@fate sta:有解决方案吗
0 回复 -
爱咕咕的布咕 VIP0
2026/1/23@fate sta:


0 回复 -
蜗大牛 VIP0
2026/3/10@fate sta:DateOnly这个问题有结果吗
@爱咕咕的布咕:1
0 回复 -
fate stay night VIP0
2026/3/10db.CodeFirst.InitTables<DateOnlyNullTest>();//建表 db.Insertable(new DateOnlyNullTest() { Test = DateOnly.FromDateTime(DateTime.Now) }) .ExecuteCommand();//插入 public class DateOnlyNullTest { public DateOnly? Test { get; set; } }我这边是执行成功的。
0 回复 -
fate sta VIP0
2026/3/10@蜗大牛:
0 回复 -
蜗大牛 VIP0
2026/3/10@fate sta:问题不是执行是否成功,是多了时间部分,这是一个Date类型,想保存为2026-03-10没有时间部分,而不是2026-03-10 00:00:00.000
用的数据库是sqlite

0 回复 -
fate sta VIP0
2026/3/10@蜗大牛:sqlite没有date类型。时间格式必须规范一样。
0 回复 -
fate sta VIP0
2026/3/10格式不一样查询会失效。
0 回复