RethinkDb.Driver.FSharp
0.9.0-beta-07
dotnet add package RethinkDb.Driver.FSharp --version 0.9.0-beta-07
NuGet\Install-Package RethinkDb.Driver.FSharp -Version 0.9.0-beta-07
<PackageReference Include="RethinkDb.Driver.FSharp" Version="0.9.0-beta-07" />
paket add RethinkDb.Driver.FSharp --version 0.9.0-beta-07
#r "nuget: RethinkDb.Driver.FSharp, 0.9.0-beta-07"
// Install RethinkDb.Driver.FSharp as a Cake Addin
#addin nuget:?package=RethinkDb.Driver.FSharp&version=0.9.0-beta-07&prerelease
// Install RethinkDb.Driver.FSharp as a Cake Tool
#tool nuget:?package=RethinkDb.Driver.FSharp&version=0.9.0-beta-07&prerelease
RethinkDb.Driver.FSharp
This package provides idiomatic F# extensions on the official C# driver. Within this package:
Connection Configuration / Creation
open RethinkDb.Driver.FSharp
let dataCfg = DataConfig.fromJson "rethink-config.json"
// - or -
let dataCfg = DataConfig.fromConfiguration [config-section]
// - or -
let dataCfg = DataConfig.fromUri [connection-string]
let conn = dataCfg.CreateConnection () // IConnection
Domain-Specific Language (DSL) / Computation Expression (CE) Style
open RethinkDb.Driver.FSharp
// Remove the conn parameter and usage for point-free style
let getPost postId conn =
rethink<Post> {
withTable "Post"
get postId
resultOption
withRetryOptionDefault conn
}
let updatePost post conn =
rethink {
withTable "Post"
get post.id
update post
write
ignoreResult
withRetryDefault conn
}
Function Style
open RethinkDb.Driver.FSharp.Functions
// Remove the conn parameter and usage for point-free style
let getPost postId conn =
fromTable "Post"
|> get postId
|> runResult<Post>
|> asOption
|> withRetryDefault
|> withConn conn
let updatePost post conn =
fromTable "Post"
|> get post.id
|> update post
|> runWrite
|> ignoreResult
|> withRetryDefault
|> withConn conn
Retry Logic
The driver does not reconnect automatically when the underlying connection has been interrupted. When specified, the retry logic attempts to reconnect; default retries wait 200ms, 500ms, and 1 second. There are also functions to retry once, and those that allow the intervals to be specified.
Strongly-Typed Optional Arguments
Many RethinkDB commands support optional arguments to tweak the behavior of that command. A quick example using the between
command (clause):
// ...
between 1 100 [ LowerBound Open; UpperBound Closed ]
// ...
More information is available on the project site.
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.0
- FSharp.Core (>= 6.0.3)
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 7.2.3)
- RethinkDb.Driver (>= 2.3.150)
-
net6.0
- FSharp.Core (>= 6.0.3)
- Microsoft.Extensions.Configuration (>= 6.0.1)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 7.2.3)
- RethinkDb.Driver (>= 2.3.150)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RethinkDb.Driver.FSharp:
Package | Downloads |
---|---|
RethinkDB.DistributedCache
An IDistributedCache implementation utilizing RethinkDB for storage |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.9.0-beta-07 | 115 | 7/19/2022 |
0.9.0-beta-06 | 76 | 7/18/2022 |
0.9.0-beta-05 | 127 | 6/16/2022 |
0.9.0-beta-04 | 89 | 6/14/2022 |
0.9.0-beta-03 | 172 | 5/25/2022 |
0.9.0-beta-02 | 73 | 5/24/2022 |
0.9.0-beta-01 | 73 | 5/18/2022 |
0.8.0-alpha-0009 | 87 | 4/29/2022 |
0.8.0-alpha-0008 | 86 | 4/27/2022 |
0.8.0-alpha-0007 | 85 | 4/22/2022 |
0.8.0-alpha-0005 | 86 | 4/21/2022 |
0.8.0-alpha-0004 | 81 | 4/21/2022 |
0.8.0-alpha-0003 | 89 | 4/19/2022 |
0.8.0-alpha-0001 | 83 | 4/19/2022 |
Add URI config option and logging CreateConnection overloads