Cannot write DateTime with Kind=Unspecified to PostgreSQL type ‘timestamp with time zone‘, only UTC

使用语言C#
使用框架.NET Core 6
使用数据库postgreSQL
在使用ef core查询sql,以时间类型为条件,查询报错;

错误信息:
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. See the Npgsql.EnableLegacyTimestampBehavior AppContext switch to enable legacy behavior.

解决办法,主要是把日期数据转为UTC类型的日期:

     var date = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + "05:00:00" );
     DateTime utcDate=DateTime.SpecifyKind(date, DateTimeKind.Utc);

//ef core原始sql执行
     int count3 = await db.Database.ExecuteSqlInterpolatedAsync($"delete  from    rs_device_report_file_processed   where  file_processed_time>{utcDate}");
我有一个类,如下: public class outtaskinfo { [SugarColumn(ColumnName = "id", IsIdentity = true, IsPrimaryKey = true)]//IsPrimaryKey主键,IsIdentity 自增 public long id { get; set; } [SugarColumn(ColumnName = "subtaskid", IsNullable = true)] public string subtaskid { get; set; } [SugarColumn(ColumnName = "priority", IsNullable = true)] public int priority { get; set; } [SugarColumn(ColumnName = "subtaskinfo", Length = 9999999, IsNullable = true)] public string subtaskinfo { get; set; } [SugarColumn(ColumnName = "system", IsNullable = true)] public string system { get; set; } [SugarColumn(ColumnName = "isdone", IsNullable = true)] public string isdone { get; set; } [SugarColumn(ColumnName = "starttime", IsNullable = true)] public DateTime starttime { get; set; } [SugarColumn(ColumnName = "endtime", IsNullable = true)] public DateTime endtime { get; set; } } 并且在业务逻辑里,做了如下插入: List<outtaskinfo> otiList = new List<outtaskinfo>(); otiList.Add(new outtaskinfo { subtaskid = item.SubTaskID, priority = item.SubTaskInfo.First().Priority, subtaskinfo = JsonConvert.SerializeObject(item.SubTaskInfo), starttime = DateTime.Now, endtime = DateTime.Now, system = "LMS", isdone = "未完成" }); int i = DataBase.InsertDB(otiList); 但是却报错了: Cannot write DateTime with Kind=Local 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. 參數名稱: value 请看看要如何修改才能正确插入
03-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王焜棟琦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值