Rochas.SqlWrapper
1.1.2
dotnet add package Rochas.SqlWrapper --version 1.1.2
NuGet\Install-Package Rochas.SqlWrapper -Version 1.1.2
<PackageReference Include="Rochas.SqlWrapper" Version="1.1.2" />
<PackageVersion Include="Rochas.SqlWrapper" Version="1.1.2" />
<PackageReference Include="Rochas.SqlWrapper" />
paket add Rochas.SqlWrapper --version 1.1.2
#r "nuget: Rochas.SqlWrapper, 1.1.2"
#:package Rochas.SqlWrapper@1.1.2
#addin nuget:?package=Rochas.SqlWrapper&version=1.1.2
#tool nuget:?package=Rochas.SqlWrapper&version=1.1.2
Rochas.SqlWrapper
English | Português | Español | Français | Deutsch
English
Rochas.SqlWrapper is the multi-dialect SQL translation layer shared by the Rochas components (Rochas.DapperRepository, Rochas.BWOQ).
It concentrates all entity-to-ANSI-SQL conversion intelligence (Poco/Anaemic Model) for the MySQL, SQL Server, PostgreSQL and SQLite dialects — including attribute paraphrasing, LIKE filters, value ranges (RangeFilter), aggregations, pagination, relations and entity composition.
Installation
dotnet add package Rochas.SqlWrapper
Class names
EntitySqlParser --> Entity-to-ANSI-SQL parsing (CRUD, query, count, paginated)
EntityReflector --> Entity reflection/metadata with thread-safe caches
Helpers.SQL.* --> SQL statement constants/templates per dialect
Exceptions --> Layer domain exceptions (e.g. PropertyNotListableException)
Usage
using Rochas.SqlWrapper.Helpers;
using Rochas.Data.Specification.Enums;
var sql = EntitySqlParser.ParseEntity(filter, DatabaseEngine.SQLite,
PersistenceAction.Query, filter);
Requires annotations from
Rochas.Data.Specification([Table],[Key],[Column]optional — without[Table]the class name is used,[Key]required).
Tests and coverage
The Rochas.SqlWrapper assembly has 91 unit tests (xUnit) with 99.7% line coverage (981/984 lines), measured via coverlet (cobertura):
| Class | Line coverage |
|---|---|
EntitySqlParser |
99.6% |
EntityReflector |
99.7% |
Helpers.SQL.SQLStatements |
100% |
Exceptions.PropertyNotListableException |
100% |
Multi-database support
| Feature | MySQL | SQL Server | PostgreSQL | SQLite |
|---|---|---|---|---|
LIMIT/pagination |
✔ | OFFSET FETCH/TOP |
✔ | ✔ |
| Booleans | 1/0 | 1/0 | TRUE/FALSE | 1/0 |
| Identifier quoting | — | — | "column" |
— |
License
GPL v2 — see GNUv2_License.txt.
Português
Rochas.SqlWrapper é a camada de tradução SQL multi-dialeto compartilhada pelos componentes Rochas (Rochas.DapperRepository, Rochas.BWOQ).
Ela concentra toda a inteligência de conversão de entidades (Poco/Anaemic Model) em instruções SQL ANSI para os dialetos MySQL, SQL Server, PostgreSQL e SQLite — incluindo paráfrase de atributos, filtros LIKE, intervalos de valores (RangeFilter), agregações, paginação, relações e composição de entidades.
Instalação
dotnet add package Rochas.SqlWrapper
Nome das classes
EntitySqlParser --> Parse de entidades para SQL ANSI (CRUD, consulta, count, paginado)
EntityReflector --> Reflexão/metadata das entidades com caches thread-safe
Helpers.SQL.* --> Constantes/templates de instruções SQL por dialeto
Exceptions --> Exceções de domínio da camada (ex.: PropertyNotListableException)
Como usar
using Rochas.SqlWrapper.Helpers;
using Rochas.Data.Specification.Enums;
var sql = EntitySqlParser.ParseEntity(filtro, DatabaseEngine.SQLite,
PersistenceAction.Query, filtro);
Requer as annotations de
Rochas.Data.Specification([Table],[Key],[Column]opcional — sem[Table]usa o nome da classe,[Key]obrigatório).
Testes e cobertura
O assembly Rochas.SqlWrapper possui 91 testes unitários (xUnit) com 99,7% de cobertura de linha (981/984 linhas), medidos via coverlet (cobertura):
| Classe | Cobertura de linha |
|---|---|
EntitySqlParser |
99,6% |
EntityReflector |
99,7% |
Helpers.SQL.SQLStatements |
100% |
Exceptions.PropertyNotListableException |
100% |
Suporte a múltiplos bancos
| Recurso | MySQL | SQL Server | PostgreSQL | SQLite |
|---|---|---|---|---|
LIMIT/paginação |
✔ | OFFSET FETCH/TOP |
✔ | ✔ |
| Booleanos | 1/0 | 1/0 | TRUE/FALSE | 1/0 |
| Quote de identificador | — | — | "coluna" |
— |
Licença
GPL v2 — veja GNUv2_License.txt.
Español
Rochas.SqlWrapper es la capa de traducción SQL multi-dialecto compartida por los componentes Rochas (Rochas.DapperRepository, Rochas.BWOQ).
Concentra toda la inteligencia de conversión de entidades (Poco/Anaemic Model) a instrucciones SQL ANSI para los dialectos MySQL, SQL Server, PostgreSQL y SQLite — incluyendo parafraseo de atributos, filtros LIKE, rangos de valores (RangeFilter), agregaciones, paginación, relaciones y composición de entidades.
Instalación
dotnet add package Rochas.SqlWrapper
Nombres de clases
EntitySqlParser --> Parse de entidades a SQL ANSI (CRUD, consulta, count, paginado)
EntityReflector --> Reflexión/metadata de entidades con caches thread-safe
Helpers.SQL.* --> Constantes/plantillas de instrucciones SQL por dialecto
Exceptions --> Excepciones de dominio de la capa (ej.: PropertyNotListableException)
Uso
using Rochas.SqlWrapper.Helpers;
using Rochas.Data.Specification.Enums;
var sql = EntitySqlParser.ParseEntity(filtro, DatabaseEngine.SQLite,
PersistenceAction.Query, filtro);
Requiere las anotaciones de
Rochas.Data.Specification([Table],[Key],[Column]opcional — sin[Table]usa el nombre de la clase,[Key]obligatorio).
Pruebas y cobertura
El ensamblado Rochas.SqlWrapper tiene 91 pruebas unitarias (xUnit) con 99,7% de cobertura de línea (981/984 líneas), medidas con coverlet (cobertura):
| Clase | Cobertura de línea |
|---|---|
EntitySqlParser |
99,6% |
EntityReflector |
99,7% |
Helpers.SQL.SQLStatements |
100% |
Exceptions.PropertyNotListableException |
100% |
Soporte multi-bases de datos
| Característica | MySQL | SQL Server | PostgreSQL | SQLite |
|---|---|---|---|---|
LIMIT/paginación |
✔ | OFFSET FETCH/TOP |
✔ | ✔ |
| Booleanos | 1/0 | 1/0 | TRUE/FALSE | 1/0 |
| Quotes de identificador | — | — | "columna" |
— |
Licencia
GPL v2 — consulte GNUv2_License.txt.
Français
Rochas.SqlWrapper est la couche de traduction SQL multi-dialecte partagée par les composants Rochas (Rochas.DapperRepository, Rochas.BWOQ).
Elle concentre toute l'intelligence de conversion d'entités (Poco/Anaemic Model) en instructions SQL ANSI pour les dialectes MySQL, SQL Server, PostgreSQL et SQLite — y compris le paraphrase d'attributs, les filtres LIKE, les plages de valeurs (RangeFilter), les agrégations, la pagination, les relations et la composition d'entités.
Installation
dotnet add package Rochas.SqlWrapper
Noms des classes
EntitySqlParser --> Parse d'entités en SQL ANSI (CRUD, requête, count, paginé)
EntityReflector --> Réflexion/métadonnées d'entités avec caches thread-safe
Helpers.SQL.* --> Constantes/modèles d'instructions SQL par dialecte
Exceptions --> Exceptions du domaine de la couche (ex. : PropertyNotListableException)
Utilisation
using Rochas.SqlWrapper.Helpers;
using Rochas.Data.Specification.Enums;
var sql = EntitySqlParser.ParseEntity(filtre, DatabaseEngine.SQLite,
PersistenceAction.Query, filtre);
Nécessite les annotations de
Rochas.Data.Specification([Table],[Key],[Column]optionnel — sans[Table]le nom de la classe est utilisé,[Key]obligatoire).
Tests et couverture
L'assembly Rochas.SqlWrapper contient 91 tests unitaires (xUnit) avec 99,7% de couverture de ligne (981/984 lignes), mesurés avec coverlet (cobertura) :
| Classe | Couverture de ligne |
|---|---|
EntitySqlParser |
99,6% |
EntityReflector |
99,7% |
Helpers.SQL.SQLStatements |
100% |
Exceptions.PropertyNotListableException |
100% |
Support multi-bases de données
| Fonctionnalité | MySQL | SQL Server | PostgreSQL | SQLite |
|---|---|---|---|---|
LIMIT/pagination |
✔ | OFFSET FETCH/TOP |
✔ | ✔ |
| Booléens | 1/0 | 1/0 | TRUE/FALSE | 1/0 |
| Citation d'identifiant | — | — | "colonne" |
— |
Licence
GPL v2 — voir GNUv2_License.txt.
Deutsch
Rochas.SqlWrapper ist die Multi-Dialekt-SQL-Übersetzungsschicht, die von den Rochas-Komponenten (Rochas.DapperRepository, Rochas.BWOQ) gemeinsam genutzt wird.
Sie konzentriert die gesamte Intelligenz der Entitäts-zu-ANSI-SQL-Konvertierung (Poco/Anaemic Model) für die Dialekte MySQL, SQL Server, PostgreSQL und SQLite — einschließlich Attribut-Paraphrase, LIKE-Filter, Wertbereiche (RangeFilter), Aggregationen, Paginierung, Relationen und Entitätskomposition.
Installation
dotnet add package Rochas.SqlWrapper
Klassennamen
EntitySqlParser --> Entitäten-zu-ANSI-SQL-Parsing (CRUD, Abfrage, Count, paginiert)
EntityReflector --> Entitäten-Reflexion/Metadaten mit thread-safe Caches
Helpers.SQL.* --> SQL-Anweisungskonstanten/Vorlagen pro Dialekt
Exceptions --> Schicht-Domänen-Ausnahmen (z.B. PropertyNotListableException)
Verwendung
using Rochas.SqlWrapper.Helpers;
using Rochas.Data.Specification.Enums;
var sql = EntitySqlParser.ParseEntity(filter, DatabaseEngine.SQLite,
PersistenceAction.Query, filter);
Erfordert Annotationen von
Rochas.Data.Specification([Table],[Key],[Column]optional — ohne[Table]wird der Klassenname verwendet,[Key]erforderlich).
Tests und Abdeckung
Die Assembly Rochas.SqlWrapper enthält 91 Unit-Tests (xUnit) mit 99,7% Zeilenabdeckung (981/984 Zeilen), gemessen mit coverlet (cobertura):
| Klasse | Zeilenabdeckung |
|---|---|
EntitySqlParser |
99,6% |
EntityReflector |
99,7% |
Helpers.SQL.SQLStatements |
100% |
Exceptions.PropertyNotListableException |
100% |
Multi-Datenbank-Unterstützung
| Funktion | MySQL | SQL Server | PostgreSQL | SQLite |
|---|---|---|---|---|
LIMIT/Paginierung |
✔ | OFFSET FETCH/TOP |
✔ | ✔ |
| Boolesche Werte | 1/0 | 1/0 | TRUE/FALSE | 1/0 |
| Bezeichner-Anführung | — | — | "Spalte" |
— |
Lizenz
GPL v2 — siehe GNUv2_License.txt.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Rochas.Data.Specification (>= 1.6.3)
- System.ComponentModel.Annotations (>= 5.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Rochas.SqlWrapper:
| Package | Downloads |
|---|---|
|
Rochas.DapperRepository
A lightweight generic entities cacheable repository using Dapper |
|
|
Rochas.BWOQ
Rochas BWOQ - BitWise Object Query for compact query composition |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.2 | 116 | 8/15/2026 |
v1.1.2 - Dependency migrated to Rochas.Data.Specification. No behavior change: EntitySqlParser/EntityReflector now read annotations/enums from the new contract package.