logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Persistence.Domain.Services

    Classes

    StructuredIdentifierValidator

    Validates that every caller-supplied field/column identifier used to build a SQL statement is safe to interpolate: letters, digits, and underscores only, not starting with a digit. Identifiers cannot be parameterized like values, so every relational IStructuredStore provider (MySQL, PostgreSQL, SQLite) re-validates every field name against this pattern before it reaches raw SQL text.

    StructuredQueryEngine

    Pure, in-memory semantic reference for every IStructuredStore query/trim/upsert-comparison operation: filtering, multi-field sorting, distinct-collapsing, pagination, counting, and the "is this candidate better" write-path policy. Every backend (key-value shard, HTTP stub, relational provider) delegates to this engine — or reimplements it identically in its own query language — so query semantics stay identical everywhere.

    In this article
    © 2026 Serenity. All Rights Reserved