.net - 如何获取类型 F# 中字段的 ID
问题描述
如何创建一个函数来搜索数据库并仅返回类型的 ID?
实际上,我有一个数据库,我可以在其中搜索一对。这对是一个类型,在 F# 中:
module Types =
[<CLIMutable>]
type Pair = {
Id :int64
PairName : string
}
我的目标是创建一个函数,它只返回给定 PairName 的 ID (int) 的值。给定这个名称,我已经有一个返回 Pair 的函数。
module Query =
let GetSingleByName name = querySingleAsync<Types.Bird> {
script "SELECT * FROM Pair WHERE PairName = @Name LIMIT 1"
parameters (dict ["Name", box name])
}
我怎样才能只返回整数?不是所有的Type.Pair?
解决方案
let getIdByName name = querySingleAsync<int64> {
script "SELECT Id FROM Pair WHERE PairName = @Name LIMIT 1"
parameters (dict ["Name", box name])
}
如果这不起作用,您必须提供querySingleAsync
.
或者:
let getIdByName name = async {
let! single = getSingleByName name
return single |> Option.map (fun pair -> pair.Id)
}
推荐阅读
- r - R 数据管理:根据来自其他变量的多个条件将多个变量聚合为新生成的变量
- sql-server - SQL server 多期对比
- backend - 模型类未返回 Octobercms 过滤器范围选项
- java - 将整数除以部分 [Java]
- sql - postgreSql/pgAdmin 查找函数中使用自定义类型的位置
- spring - 春季引导@restcontroller 到@controller 与分页
- spring - 我在哪里可以从 Eclipse 中找到 WAS 8.5 中部署的耳朵?
- python - python 脚本中的函数执行后,如何在 Django 中的 DateTimeField 中插入日期和时间?
- c# - c# - 带有 FILE_FLAG_NO_BUFFERING 的 FileStream ,“最后一次读取后的剩余数据”在哪里?
- phylogeny - 系统发育分析软件 (BAMM) 错误消息告诉我我的系统发育具有非正分支长度。我改变了这个,但错误仍然存在