Struct TenantFilter
- Namespace
- Millrace.Storage.Monitoring
- Assembly
- Millrace.dll
How a monitoring query treats the tenant dimension.
public readonly record struct TenantFilter : IEquatable<TenantFilter>
- Implements
- Inherited Members
Remarks
A plain string? cannot express this: null would have to mean both
"every tenant" (an operator's cross-tenant view) and "the untenanted scope" (jobs enqueued with
no ambient tenant). Those are different result sets in any deployment that mixes the two, and
§11.8 already treats the null tenant as a scope in its own right for idempotency. Leaving the
distinction to provider interpretation would guarantee divergence between providers.
Single-tenant applications never set a tenant, so for them Any and Untenanted select the same rows; they can use either.
Properties
- Any
No tenant constraint — rows from every tenant, including untenanted rows.
- IsConstrained
Whether the query constrains the tenant at all. When false, TenantId is meaningless.
- TenantId
The tenant to match when IsConstrained is true; null then means the untenanted scope.
- Untenanted
Only rows with no tenant (
TenantId IS NULL).
Methods
- For(string)
Only rows belonging to
tenantId.