Dapper怎么在F#项目中使用 Dapper与F#集成指南

admin 百科 13
Dapper 在 F# 中需适配不可变数据和类型推导:用记录类型映射查询结果,DynamicParameters 传参,Async.AwaitTask 处理异步,字段名须严格匹配且大小写敏感。

Dapper怎么在F#项目中使用 Dapper与F#集成指南-第1张图片-佛山资讯网

Dapper 在 F# 项目中用起来很顺,关键是要适配 F# 的不可变数据和类型推导特性,而不是照搬 C# 写法。 它本身是 .NET 库,不区分语言,但 F# 的惯用写法会让代码更简洁、更安全。

1. 基础设置:引用与连接字符串

在 F# 项目(如 .fsproj)中添加 Dapper 包:

  • 用 Paket:运行 paket add Dapper
  • 用 dotnet CLI:运行 dotnet add package Dapper

连接字符串建议放在配置中(如 appsettings.json),用 Microsoft.Extensions.Configuration 读取。F# 中可这样轻量封装:

let connectionString = 
    ConfigurationBuilder()
        .AddJsonFile("appsettings.json")
        .Build()
        .GetConnectionString("Default")

登录后复制

2. 查询结果映射:优先用记录(Record)而非类

F# 记录天然支持不可变、结构相等、自动属性推导,比手动写 POCO 类更自然。Dapper 能直接映射到记录类型:

type User = { Id: int; Name: string; Email: string }
<p>// 查询返回序列(注意:Dapper 返回的是 IEnumerable<'T>,F# 中常用 seq<'T>)
let getUsers (conn: IDbConnection) : seq<User> =
conn.Query<User>"SELECT Id, Name, Email FROM Users"

登录后复制

注意点:

标签: js json app ai microsoft c# 数据访问 .net

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~