Fdw.Data.Options
1.5.7
dotnet add package Fdw.Data.Options --version 1.5.7
NuGet\Install-Package Fdw.Data.Options -Version 1.5.7
<PackageReference Include="Fdw.Data.Options" Version="1.5.7" />
<PackageVersion Include="Fdw.Data.Options" Version="1.5.7" />
<PackageReference Include="Fdw.Data.Options" />
paket add Fdw.Data.Options --version 1.5.7
#r "nuget: Fdw.Data.Options, 1.5.7"
#:package Fdw.Data.Options@1.5.7
#addin nuget:?package=Fdw.Data.Options&version=1.5.7
#tool nuget:?package=Fdw.Data.Options&version=1.5.7
Fdw.Data.Options
Data options: the kinds of option a person with the right permission can turn on or off for a value in a column of a data container, and what applying each one does.
FDW supplies the kinds of option and what applying them does. It does not own the table that holds the stored options; DataOptionRowFields names the fields a reader expects (DataStore, Container, Column, Value, OptionType, Option, Active).
Resolve an option from stored text
var option = DataOptions.ByName(row.OptionType).ByName(row.Option);
var result = option.Apply(new DataOptionContext(
dataStore, container, column, row.OptionType, row.Option, row.Value, row.IsActive, valuesSoFar, logger));
An unknown option type or option gives the collection's NotFound sentinel, whose Apply returns a failure (DATAOPTION-31000 and DATAOPTION-30000); nothing throws. A row that needs a value and has none fails DATAOPTION-20000.
Shape
DataOptionsis the root collection of option types. A member is a dispatcher (ByName(optionName),Options), likeDefaultValuesinFdw.Data.Abstractions.SelectListis the first option type. Its child collectionSelectListOptionshasInclude(puts the value in the list) andExclude(takes it out).ApplyreturnsIGenericResult<DataOptionOutcome>.DataOptionOutcomeis not generic on its type, because a caller holds only strings read from rows;SelectListOutcomecarries the resulting list.- An inactive row changes nothing. Values compare exactly (ordinal) and are never listed twice. Exclude applies after Include (
IDataOption.ApplyOrder), so the list does not depend on the order the rows were read in.
Registration. SelectList joins DataOptions from Fdw.Data.Options, a different assembly from the root, so the registration is written into the executable that references both, by the Fdw.Registration.SourceGenerators analyzer (OutputItemType="Analyzer"), as it is for every cross-assembly type option. A host or test executable without that generator finds DataOptions.ByName("SelectList") is the NotFound sentinel, and Apply fails with DATAOPTION-31000; it is a loud failure, never a default. Library projects need nothing.
Another package adds an option type with [TypeOption(typeof(DataOptions), "Name")], or an option of SelectList with [TypeOption(typeof(SelectListOptions), "Name")].
The ReadDataOptions pipeline step (Fdw.Services.Etl) reads the stored rows for a column and keeps the resulting list in a variable.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Fdw.Abstractions (>= 1.5.6)
- Fdw.Collections (>= 1.5.6)
- Fdw.Data.Options.Abstractions (>= 1.5.7)
- Fdw.MessageLogging.Abstractions (>= 1.5.6)
- Fdw.Messages (>= 1.5.6)
- Fdw.Results (>= 1.5.6)
- Fdw.Results.Abstractions (>= 1.5.6)
- Fdw.Types.Abstractions (>= 1.5.6)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.10)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- System.ComponentModel.Annotations (>= 5.0.0)
NuGet packages (24)
Showing the top 5 NuGet packages that depend on Fdw.Data.Options:
| Package | Downloads |
|---|---|
|
Fdw.Services.Etl
Development tools and utilities for the Fdw ecosystem. |
|
|
Fdw.Operations.Endpoints
Development tools and utilities for the Fdw ecosystem. |
|
|
Fdw.Services.Users.Endpoints
Development tools and utilities for the Fdw ecosystem. |
|
|
Fdw.Services.Data.Endpoints
Development tools and utilities for the Fdw ecosystem. |
|
|
Fdw.Services.Etl.Projects
Development tools and utilities for the Fdw ecosystem. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.5.7 | 95 | 11/13/2026 |