gpt4 book ai didi

f# - 在 F# 中,表达式的类型应为 'Nullable',但此处的类型为 'DateTime'

转载 作者:行者123 更新时间:2023-12-02 19:08:58 25 4
gpt4 key购买 nike

我在 F# 中有以下函数,它从本地数据库返回数据:

let GetScheduleAsync (tableDate : DateTime) =
async {
let! data = context.GetOfficeScheduleAsync(tableDate) |> Async.AwaitTask
return data |> Seq.map(fun q -> {
Visit.lastName = q.lastname
firstName = q.firstname
birthDate = q.birthdate
appointmentTime = q.appointment_time
tservice = q.service_time
postingTime = q.posting_time
chartNumber = q.chart_number
})
}
|> Async.StartAsTask

访问定义为:

type Visit = {
lastName : string
firstName : string
birthDate : Nullable<DateTime>
appointmentTime : Nullable<DateTime>
tservice : Nullable<DateTime>
postingTime : Nullable<DateTime>
chartNumber : Nullable<int>
}

现在从数据库下载的 q.birthdate 是非空的,但 Visit 定义将其设置为可为空。因此,会产生以下错误:

The expression was expected to have type
'Nullable<DateTime>'
but here has type
'DateTime'

如何在不更改数据库的情况下保持 Visit 的定义不变并修复错误?

TIA

最佳答案

您需要显式地创建一个 Nullable 值,如下所示:Nullable q.birthdate

关于f# - 在 F# 中,表达式的类型应为 'Nullable<DateTime>',但此处的类型为 'DateTime',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64628324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com