提问人:Priyanka Jain 提问时间:11/16/2023 更新时间:11/17/2023 访问量:38
用于可区分联合类型的 F# 自定义泛型 dapper TypeHandler
F# Custom generic dapper TypeHandler for Discriminated Union Types
问:
我正在尝试为可区分的联合类型编写一个自定义的通用 Dapper TypeHandler。
有关参考,请参阅以下问题:F# 联合类型的 Dapper 泛型类型处理程序
我无法在不遇到静态强制限制的情况下编写 Parse 方法。
一个非泛型类型处理程序,它的工作原理是:
type DapperIdTypeHandler() =
inherit SqlMapper.TypeHandler<Id>()
override this.SetValue(parameter, Id id) = parameter.Value <- id
override this.Parse(value) = Id(value :?> Guid)
我想知道有没有办法以通用方式编写解析方法?
下面是不起作用的泛型函数的代码片段:
type DapperUnionTypeHandler<'t>() =
inherit SqlMapper.TypeHandler<'t>()
override x.Parse(value) =
// Stuck at this step
't <| (value :?> Guid)
override this.SetValue(param, value) =
param.Value <- value
()
我正在使用的接头类型:
type Id =
| Id of Guid
答: 暂无答案
评论