Vali-Flow.NoSql.Couchbase
1.1.0
dotnet add package Vali-Flow.NoSql.Couchbase --version 1.1.0
NuGet\Install-Package Vali-Flow.NoSql.Couchbase -Version 1.1.0
<PackageReference Include="Vali-Flow.NoSql.Couchbase" Version="1.1.0" />
<PackageVersion Include="Vali-Flow.NoSql.Couchbase" Version="1.1.0" />
<PackageReference Include="Vali-Flow.NoSql.Couchbase" />
paket add Vali-Flow.NoSql.Couchbase --version 1.1.0
#r "nuget: Vali-Flow.NoSql.Couchbase, 1.1.0"
#:package Vali-Flow.NoSql.Couchbase@1.1.0
#addin nuget:?package=Vali-Flow.NoSql.Couchbase&version=1.1.0
#tool nuget:?package=Vali-Flow.NoSql.Couchbase&version=1.1.0
Vali-Flow.NoSql.Couchbase
Couchbase N1QL (SQL++) WHERE-clause builder that translates ValiFlow<T> filters into a parameterized CouchbaseFilterExpression.
See the main README for complete documentation and examples.
Installation
dotnet add package Vali-Flow.NoSql.Couchbase
Quick Example
using Vali_Flow.NoSql.Couchbase.Extensions;
var filter = new ValiFlow<Order>()
.EqualTo(x => x.Status, "Active")
.GreaterThan(x => x.Total, 100m);
CouchbaseFilterExpression f = filter.ToCouchbase();
var query = $"SELECT * FROM `orders` WHERE {f.WhereClause}";
var options = new QueryOptions();
foreach (var (name, value) in f.Parameters)
options.Parameter(name, value);
var result = await cluster.QueryAsync<Order>(query, options);
Features
- Translates
ValiFlow<T>expressions to a N1QL WHERE clause fragment - Named parameters (
$p0,$p1, …) instead of inline literals - Backtick-quoted identifiers (
`field`), N1QL/MySQL convention LIKE-basedContains/StartsWith/EndsWith— all three supported- No Couchbase SDK dependency — pure text + parameter builder
Limitations
- No Couchbase SDK dependency: this package only produces
WhereClause+Parameters. Executing the query (viaICluster.QueryAsync,IBucket, etc.) is entirely the consumer's responsibility. - Empty
Inlist throwsInvalidOperationException— filter the empty case before building the query. decimalvalues are bound as their invariant-culture string representation, not a native numeric parameter.
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Vali-Flow.NoSql (>= 1.1.1)
-
net9.0
- Vali-Flow.NoSql (>= 1.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.0 | 82 | 10/7/2026 |
v1.1.0 — Fix: decimal values were bound as N1QL string parameters instead of native numbers, making every comparison operator (=, <>, >, >=, <, <=) against a decimal field silently match zero rows (N1QL does not coerce between string and number). Add a MaxInValues cap. Instrument Translate(...) with ValiFlowDiagnostics Activity tracing. No breaking changes.