Namespace Rinku.Querying.Parameters
Classes
- AccessorEmitter
Shared IL helpers for parameter access.
- AccessorEmitterBase
Provides the common conditional flow for a direct-member accessor emitter.
- AccessorEmitterHandler
The base for an attribute that changes how a parameter object's member is read, its presence rule, its value, or both. Attributes like ForBoolCondAttribute and NotNullOrWhitespaceAttribute subclass it to define a custom rule of your own.
- AccessorUsageMarker
Stores the shared scratch usage mask used by value-array accessors that do not need a result mask.
- DirectAccessor
The direct command-binding delegate for one source type and one query mapper.
- DirectAccessor<T>
The direct command-binding delegate for a value type.
- ForBoolCondAttribute
On a parameter object, marks a bool member as a condition toggle rather than a bound value.
- MethodConditionEmitter
Uses a static boolean method over the member value as the usability condition.
- MultiVariableHandler
The handler behind the
_Xmarker. It spreads a collection into numbered parameters, so@Itemsbecomes@Items_1, @Items_2, ... @Items_N, one per element, ready for anINclause.
- NestedParametersAttribute
Flattens a member's parameter surface into its containing object. The nested object's members behave as though they were declared on the containing parameter object.
- NotDefaultAttribute
Treats a member as present only when it is not its type's default value.
- NotNullOrWhitespaceAttribute
Treats a string member as present only when it is not null or whitespace.
- ParameterAccessorGenerator
Creates cached parameter accessors.
- ParameterAccessorGenerator.StackAccessor
Reuses the normal parameter-shape plan and emits raw typed values instead of binding them.
- ParameterAccessorGenerator.StackAccessorEmission
Per-IL-generator state for stack emission. Usage must be emitted before value for nested and dictionary sources.
- ParameterAliasAttribute
Adds another parameter/condition name for a member.
- ParameterConflictAttribute
Configures equal-priority parameter-source conflicts for a parameter object type.
- ParameterIgnoreAttribute
Prevents a public member from participating in parameter binding.
- ParameterNameAttribute
Uses a different parameter/condition name for a member.
- PathAccessorEmitterBase
Provides the common conditional flow for a member rule that supports both direct and flattened/nested parameter members. Prefer this base for new custom emitters.
- SpecialHandler
A marker that both binds database parameters and writes SQL, for a variable that expands into several parameters, such as a list spread into an
INclause. Subclass it and register a letter in SpecialHandlerGetter to add your own.
- TypeAccessorEmitterBase
Provides the common conditional flow for an emitter attached to a whole type.
- UseDbNullAttribute
On a parameter member, or every member of a parameter type, keeps a null value supplied and sends it to the database as Value. A member attribute takes priority over this type-level rule.
- UseWithAccessor
The value-array delegate used by
UseWithfor one source type and query mapper.
- UseWithAccessor<T>
The value-array delegate used by
UseWithfor a value type.
- UsesBoolConds
On a parameter object type, names conditions that are always on whenever an instance is used, without a member for each. Handy for a type that should always switch on the same parts of a query.
Structs
- ParameterMemberAccess
Describes a parameter member as seen from the root parameter object. A direct member has one path step. A member reached through NestedParametersAttribute has several.
- UseWithEmissionContext
Provides the generated argument and mask state needed by a
UseWithemitter.
Interfaces
- IAccessorEmitter
Emits custom access rules for individual parameter members.
- IPathAccessorEmitter
Optional path-aware form of IAccessorEmitter. Implement this when the same custom parameter rule should also work on members reached through NestedParametersAttribute.
- ITypeAccessorEmitter
Emits one parameter key whose rule belongs to the whole parameter type.
Enums
- ParameterConflictBehavior
Controls what happens when two equally valid sources provide the same parameter.
Delegates
- DirectAccessorDelegate
Binds one parameter object directly to a database command.
- DirectAccessorDelegate<T>
Binds one value-type parameter object directly to a database command without boxing it.
- UseWithAccessorDelegate
Copies one parameter object into a builder's value array.
- UseWithAccessorDelegate<T>
Copies one value-type parameter object into a builder's value array without boxing it.