将值“02:30:40”转换为类型“System.TimeOnly”时出错

han*_*shi 1 c# asp.net-core .net-6.0

我正在开发一个 .net6.0 项目(使用 postgreSql)

我想将办公室的开始时间和下班时间保存到数据库中。

我这样做了。

public class WorkingDay
{
    public int Id { get; set; }

    public DaysOfWeek Day { get; set; }  // enum

    public OpeningHours OpeningHours { get; set; }

    public bool IsworkingDay { get; set; }
}


public class OpeningHours
{
    public TimeOnly StartTime { get; set; }

    public TimeOnly OffTime { get; set; }

}

Run Code Online (Sandbox Code Playgroud)

现在我使用 POSTMAN 发送要创建的数据。

{
    "Day" : 1,
    "OpeningHours" : {
        "StartTime":  "02:30:40", 
        "OffTime" :  "02:30:40"
    },
    "IsworkingDay" : false
}
Run Code Online (Sandbox Code Playgroud)

我得到以下错误。 Error converting value \"02:30:40\" to type 'System.TimeOnly'. Path 'OpeningHours.OffTime',

我如何发送数据TimeOnly

JHB*_*ius 5

DateOnly目前TimeOnly(.NET 6) 不支持System.Text.Json. 然而,它们将在 .NET 7 中实现,正如这个 github 问题一样所示。

目前有多种解决方法。