ElephantSqlDb.Data.Provider
1.0.193
dotnet add package ElephantSqlDb.Data.Provider --version 1.0.193
NuGet\Install-Package ElephantSqlDb.Data.Provider -Version 1.0.193
<PackageReference Include="ElephantSqlDb.Data.Provider" Version="1.0.193" />
<PackageVersion Include="ElephantSqlDb.Data.Provider" Version="1.0.193" />
<PackageReference Include="ElephantSqlDb.Data.Provider" />
paket add ElephantSqlDb.Data.Provider --version 1.0.193
#r "nuget: ElephantSqlDb.Data.Provider, 1.0.193"
#:package ElephantSqlDb.Data.Provider@1.0.193
#addin nuget:?package=ElephantSqlDb.Data.Provider&version=1.0.193
#tool nuget:?package=ElephantSqlDb.Data.Provider&version=1.0.193
<p align="center"><img alt="ElephantSqlDb.Data — Developer Guide" src="data:image/jpeg;base64,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" width="100%" style="max-width:100%;height:auto;"/></p>
ElephantSqlDb.Data — Developer Guide
ADO.NET provider, ServiceStack.OrmLite dialect and Entity Framework Core 8 provider for ElephantSqlDB, with read queries in the Dynatrace Query Language (DQL).
The package provides four kinds of support:
Data providers. Four ways to read and write ElephantSqlDB tables, all on one
connection type, ElephantConnection: raw ADO.NET, Entity Framework Core 8 (LINQ,
change tracking and dotnet ef scaffolding), a ServiceStack.OrmLite dialect (a
one-line switch from a PostgreSQL-backed application) and Dapper. Read queries can
also be written in the Dynatrace Query Language. All four share one parameter
binder, one set of value formats and the same engine rules: no transactions, no
DDL and no enforced constraints. See sections 6 to 11 and 22.
Logging support. A Serilog sink, a log4net appender and a Microsoft.Extensions.Logging provider that write application logs to an ElephantSqlDB table through the same ADO.NET provider. Logging never blocks the application thread; rows are written in parallel, and retries never duplicate a row. The log table uses Dynatrace field names, so logs can be queried with SQL or DQL. See section 23.
Telemetry support. OpenTelemetry exporters that write traces and metrics to
ElephantSqlDB tables with one line, AddElephantSqlDbExporter(...), next to the
instrumentation an application already uses. Requests, HttpClient calls and
.NET runtime metrics are captured automatically, exported on the SDK's background
threads, and joined to the log rows by trace_id, ready for ElephantSqlDB
dashboards, SQL or DQL. Collection is agentless: there is no sidecar, node agent
or extra container to deploy, size or patch. See section 24.
ODBC support. A native ODBC driver, built from the same core, that opens ElephantSqlDB to applications outside .NET: Python, R, PHP, Node.js, Go, Rust and C/C++, and tools such as Excel, Power BI and Tableau through a DSN. See section 25.
One platform for data, logs and telemetry. Application data, logs and telemetry are written with the same client, the same connection model and the same query languages, to the same platform. That gives you:
- Correlation. Look up every error logged for an order ID or a
trace_idwith the same connection, client and SQL or DQL you use for the order itself. There is no export between an observability tool and a database. - One operational footprint. One client, one token and security model, one backup and compliance scope, and fewer vendors to integrate and secure.
- One platform, one language. Developers query logs and telemetry with the SQL or DQL they already write for application data. There is no SPL or KQL to learn.
- Dashboards and alerting built in. ElephantSqlDB dashboards chart data, logs and telemetry side by side, and raise alerts on user-defined events. There is no separate dashboard tool or alerting service to deploy and integrate.
- Less technical debt. One platform replaces a separate application database (SQL Server, PostgreSQL, Oracle), log store (Elasticsearch, Splunk), tracing and metrics backends (Jaeger, Prometheus), dashboard and alerting tools (Kibana, Grafana, Alertmanager) and the storage and query side of an APM platform (Dynatrace, Datadog), each with its own language, client and integration.
- Audit trails beside the records. For regulated workloads, the audit log lives on the same platform as the records it describes, under the same security model.
- Constant-time lookups at any log volume. Key lookups on ElephantSqlDB are
O(1), so finding an event by
log_id,trace_idor an order ID costs the same at a thousand rows or ten billion. Logs are the fastest-growing data most companies have, and this is where other stores slow down. - Correlation that scales. "Show me the logs for this order" is a constant-time key lookup on both sides, the business record and its log entries, rather than a search that degrades as both grow.
- Longer retention. Teams usually cut log retention because large stores get slow. When key-based retrieval does not degrade, keeping a year of logs instead of 30 days becomes a storage decision, not a performance one.
Find any event, or every event tied to a transaction, in constant time, no
matter how many years of logs you keep. Constant time applies to key lookups;
time-window, text and aggregate queries (from: -2h, contains(...),
summarize) range over the data as usual. To get the most from it, log a trace
or correlation ID with every event; the writer stores the current trace_id
automatically.
<p align="center"><img alt="Lookup cost vs log volume" src="data:image/png;base64,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" width="100%"></p>
Keep logs in their own database on the platform, through a separate Logs
connection string or DatabaseName, so log volume, retention and access rules
stay separate from application data.
<p align="center"><img alt="One client, one platform" src="data:image/png;base64,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" width="100%"></p>
What one platform replaces. A typical application stack spreads data, logs and telemetry across six or more tools, each deployed, secured, retained and queried separately:
<p align="center"><img alt="Typical stack versus one platform" src="data:image/png;base64,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" width="92%"></p>
| Typical tool | Role | Query language | On ElephantSqlDB |
|---|---|---|---|
| SQL Server, PostgreSQL, Oracle | Application database | SQL | Application data, via ADO.NET, EF Core, OrmLite or Dapper |
| Logstash, Fluentd, Elasticsearch | Log pipeline and store | Lucene, KQL | logs table, via Serilog, log4net or ILogger |
| Splunk | Log store and search | SPL | logs table, queried with SQL or DQL |
| Jaeger, Zipkin | Trace store | Own UI and API | spans table, via the OpenTelemetry exporter |
| Prometheus | Metrics store | PromQL | metrics table, via the OpenTelemetry exporter |
| Kibana, Grafana | Dashboards | Per tool | ElephantSqlDB dashboards |
| Alertmanager, per-tool alert rules | Alerting | Per tool | Alerts on user-defined dashboard events |
| Dynatrace Grail, Datadog | Observability storage and query | DQL, own language | logs, spans, metrics, queried with SQL or DQL |
What ElephantSqlDB does not replace: agent-based automatic instrumentation of other languages (such as Dynatrace OneAgent), AI-driven root-cause analysis such as Dynatrace Davis, real-user monitoring and synthetic checks. Teams that rely on those keep them; ElephantSqlDB works alongside as the platform where data, logs and telemetry are kept and queried together.
Version 0.1.0-alpha. Written against ElephantSqlDBClient 1.0.188 and the
product documentation. Not yet exercised against a live table — work through
Verification before depending on it.
Contents
- What this is
- Architecture
- Installation
- Connection strings
- Dependency injection
- Choosing an API: the same tasks four ways
- Raw ADO.NET
- Pagination and result metadata
- OrmLite
- Dapper
- Entity Framework Core
- Type mapping
- No transactions
- No DDL, no constraints
- Parameters and injection
- Performance
- Error handling
- Testing
- Verification
- Migrating from PostgreSQL
- Troubleshooting
- Dynatrace Query Language (DQL)
- Logging with Serilog and log4net
- Telemetry with OpenTelemetry
- ODBC driver
1. What this is
ElephantSqlDBClient.Core is an HTTP/WebSocket API client with its own shape:
operations are extension methods split by statement type, results come back
generic over a CLR type, and the table is an argument on every call.
This package wraps that client in the ADO.NET abstractions — DbConnection,
DbCommand, DbDataReader, DbParameter — so anything that speaks ADO.NET can
reach an ElephantSqlDB table without knowing the client exists. That means
OrmLite, Dapper, EF Core, reporting tools, and any code already written against
IDbConnection.
It also ships an OrmLite dialect, so IDbConnectionFactory registration is a
one-line change from a PostgreSQL-backed application.
The same package also includes an EF Core 8 provider built on these types: LINQ queries, change tracking and dotnet ef scaffolding. See
section 11.
Commands can also be written in the Dynatrace Query Language (DQL). The provider
translates them to SQL for read queries, so DQL works anywhere a DbCommand does.
See section 22.
Application logs can be written to an ElephantSqlDB table through the same ADO.NET types, from Serilog, log4net or Microsoft.Extensions.Logging. See section 23. Traces and metrics can be exported to it from OpenTelemetry. See section 24.
Section 6 shows the same tasks — query, insert, update, delete, paging — in ADO.NET, Entity Framework Core, OrmLite and Dapper side by side.
Where the client returns more than rows — the PaginationDTO and AuthStatus that
come back from every SELECT — the provider keeps them reachable rather than
discarding them at the ADO.NET boundary. See
section 8.
What it does not do is paper over gaps in the underlying engine. There are no transactions, no DDL, and no enforced constraints. The provider surfaces those as exceptions rather than silently pretending — see sections 13 and 14, which are the two you should read before writing any code.
2. Architecture
Your code ──┬──▶ Entity Framework Core (UseElephantSqlDb: LINQ → SQL)
├──▶ OrmLite (ElephantOrmLiteDialectProvider)
├──▶ Dapper
├──▶ raw ADO.NET
└──▶ DQL (QueryLanguage = Dql: DQL → SQL)
│
▼
ElephantConnection · ElephantCommand · ElephantDataReader
│
ElephantParameterBinder (renders values into SQL text)
│
IElephantExecutor (test seam)
│
ElephantSqlDbExecutor (routes by statement type)
│
ElephantSqlDBClient.Core (HTTP / WebSocket)
│
▼
ElephantSqlDB table
Files
| File | Role |
|---|---|
ElephantConnection.cs |
DbConnection, DbTransaction, DbProviderFactory |
ElephantCommand.cs |
DbCommand |
ElephantDataReader.cs |
DbDataReader over paged, untyped rows |
ElephantParameter.cs |
DbParameter, collection, and the literal binder |
ElephantConnectionStringBuilder.cs |
Connection string keywords |
IElephantExecutor.cs |
Seam between ADO.NET and the client |
ElephantSqlDbExecutor.cs |
Adapter over ElephantSqlDBClient.Core |
ElephantConnectionExtensions.cs |
Paged query helpers |
ElephantOrmLiteDialectProvider.cs |
OrmLite dialect and type converters |
EntityFrameworkCore/ |
EF Core 8 provider (section 11) |
Dql/ |
DQL-to-SQL translation (section 22) |
Logging/ |
Serilog sink, log4net appender, MEL provider (section 23) |
Telemetry/ |
OpenTelemetry trace and metric exporters (section 24) |
ElephantQueryLanguage.cs |
Sql / Dql command language |
How a query flows
ElephantCommand.ExecuteReaderAsyncvalidates state. A DQL command is first translated to aSELECTbyElephantDql(section 22).ElephantParameterBinderrenders parameter values into the SQL text — the backend binds nothing, so substitution is the only route.ElephantSqlDbExecutor.QueryAsynccallsSelectSQLRecordsAsync<string>.Tisstringdeliberately: the client special-cases it and returns raw JSON rather than mapping onto a CLR type the provider does not have.- JSON rows are projected into
IDictionary<string, object?>. - The client's
PaginationDTOandAuthStatusare captured as anElephantPagination, so the caller can reachTotalItemsand the outcome status rather than only the rows. ElephantDataReaderfixes column names and ordinals from the first page and converts values on demand.
How a write flows
ElephantSqlDbExecutor.ExecuteAsync classifies the leading keyword and routes:
| Statement | Route |
|---|---|
INSERT |
Parsed, then SaveToDatabaseWithNoResponse once per VALUES row; the target database travels in the record envelope's DatabaseName |
UPDATE |
UpdateSQLRecordsAsync with DatabaseName |
DELETE |
DeleteSQLRecordsAsync with DatabaseName |
SAVEFILEASRECORD |
SaveSQLRecordsFromFileAsync with DatabaseName |
CREATE TABLE |
Accepted and dropped — tables appear on first write |
CREATE DATABASE [IF NOT EXISTS] name |
CreateDatabaseAsync — see Creating a database |
ALTER, DROP, TRUNCATE, CREATE INDEX |
NotSupportedException |
| Anything else | ExecuteRootKeyCommandAsync |
Inserts bypass the client's InsertSQLRecordsAsync on purpose. See
section 21 for why.
3. Installation
dotnet add package ElephantSqlDb.Data
Or reference the project directly:
<ProjectReference Include="..\ElephantSqlDb.Data\ElephantSqlDb.Data.csproj" />
Dependencies: ElephantSqlDBClient 1.0.188+, ServiceStack.OrmLite 8.x,
Newtonsoft.Json 13.x, Microsoft.EntityFrameworkCore.Relational 8.0.x,
Serilog 4.2.0, log4net 3.5.0 and Microsoft.Extensions.Logging 10.0.0
(logging, section 23), and OpenTelemetry 1.17.0 (telemetry, section 24).
Targets net8.0.
Pin the OrmLite version rather than floating it. The dialect base class changed
substantially in v8 — converters replaced the *ColumnDefinition fields, and
TableRef replaced the (tableName, schema) pairs — so a floating major would
break the overrides without warning.
The package also contains the EF Core 8 provider (section 11), so it brings
Microsoft.EntityFrameworkCore.Relational 8.0.x as a dependency. No second package
is needed.
4. Connection strings
BaseUri=https://api.elephantsqldb.example/;Token=…;Roles=Admin;UserEmail=svc@example.com;TenantId=0;Database=portal_table
| Keyword | Required | Default | Notes |
|---|---|---|---|
BaseUri |
yes | — | Root of the HTTP API |
Token |
yes | — | Bearer token |
UserEmail |
yes | — | |
Database |
yes | — | The table the connection authenticates against, and the default database for every statement. Override per connection or per command — see Choosing the database |
Roles |
no | — | |
TenantId |
no | 0 |
|
LedgerPreface |
no | Crypto- |
|
MaxRecords |
no | 100 |
Server-side page size |
UseWebSockets |
no | false |
|
MaxConnections |
no | 10 |
|
AsyncScale |
no | 1 |
|
CommandTimeout |
no | 30 |
Seconds |
AllowNonTransactional |
no | false |
See section 13 |
AutoRegisterUser |
no | false |
Create the account on open — see below |
AutoCreateLedger |
no | false |
Create the table on open — see below |
Password |
no | — | Only used by AutoRegisterUser |
FirstName |
no | Service |
Registration detail |
MiddleName |
no | — | Registration detail |
LastName |
no | Account |
Registration detail |
Phone |
no | — | Registration detail |
EncryptionAlgorithm |
no | SHA256 |
Ledger created by AutoCreateLedger, and by CreateDatabaseAsync when it is not given one |
QueryLanguage |
no | Sql |
Sql or Dql; default language of CommandText — see section 22 |
DqlTimestampField |
no | timestamp |
Column DQL's from:, to: and timeframe: filter on |
Missing required keywords throw InvalidOperationException on Open, not on
construction — a builder can be assembled incrementally.
Keeping the token out of source
Leave it blank in appsettings.json and supply it from the environment. Anything
that reads IConfiguration picks it up through the normal precedence chain.
{
"ConnectionStrings": {
"Portal": "BaseUri=https://api.elephantsqldb.example/;Token=;Roles=;UserEmail=;Database=portal_table;MaxRecords=250"
}
}
ConnectionStrings__Portal=BaseUri=…;Token=real-token;…
In Kubernetes, source that variable from a secret rather than baking it into the image.
What happens on Open
OpenAsync does more than dial the API. It parses and validates the connection
string, constructs the client, then calls IsCredentialsValid — and two of the
three states that call can return are recoverable.
<p align="center"><img alt="Connection open flow" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4QAAAORCAMAAACdi5whAAAAwFBMVEX///////jz//n//v7+/v/+/v7//f/8/f7+/f39/f3+/P38/f31/ff8+fr29Pz4+Oz38ur47+/x7/Xx7+jw7/H07+Tw7v7u7v/u7f/u7f7x7ujn+fLl9fLh9e/h9e7k9ero9OXr897q9N7q897p897q7/bp8tzd8+777Of67Oj67Of66+j76uH16+316N7l6fTi2M/H1szKwsDLp5mmuMh9ta6dmcBznZu9jH2MiJh7fH5Sh2qIanZUZGxrREsnMkcndIfeAAB1aUlEQVR42u2dC0PaShOGE5CDCklAESpgxX4t0UrJldxIwv//V9/MbkC01lpBg/C+51RIstmE7DyZ2Us2igJBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBZenkpHaYP7x2qD8c2jVLPGhDBIbQDlihoth+nBykYrcvLgAElesGbTbGw5RHP11X4AuhUhlUlCDz+sbByo4TG74QKtcRkhGq5/2DVUtzMwcUQmXWB4PkvNU/P1z1+6qb2YhIofIYdNLxQTPIGKp+otdAIVSOjhuJrx04g0ShkQQISKGyHKGdHDyCDCFdBgSkUFk1wtgAhewKXbhCqJymUSV2ASFD6MXwhFBJSgChgNBNYAtQSa4wcQAhQ+gkcIQQIASEECAEhBC0NxD2ASEElQHhcjTmG3d+yOVt1L/1yIAQ2hsI+y35WELrj57wpSO1WkUSyuDfaTI4B8MAhNBBQ9hv2fIRPcfwsmdy7RtRZv5xmGrLdmSiC9u1jX8dzTp1LPqThsM3BsKAEPoEEJJzWoV78otc6q9CSYJsIRRWo4XPufZXSfhL30gXTutxHqtsaWP2g760vJxySJzzh8P11w/4ZHf5pd/0cuei4y4WDPlv+wFCaC8g7LfIvGWc2Kewk79Id2XIOJT/NqPFTHhCVUDY7xtFEv5GuzGExnoeYnf5rW/kWd1gjrPAjRZhkw9gnBdJxDdKyOsKFJdfxLmo3sJUWxeeX8Szcr+LfvENEEL7ACFFi80pBZqt837HsPkLLZGFT91rjkOdvoTQV7lO2BQQGpTO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" width="720" style="max-width:100%;height:auto;"/></p>
The two side branches are each gated by a connection string flag. With the flag off
the branch throws instead of remediating, and the message names the flag to set.
Both loops return to IsCredentialsValid rather than proceeding directly, and the
whole sequence is bounded to two passes — at most one registration and one table
creation, so a server that keeps reporting the same recoverable state fails with
that state rather than spinning.
The three states:
| Status | Meaning | Provider behaviour |
|---|---|---|
Success |
Account and table both exist | Connection opens |
CredentialsNotFound |
No account for this email | Registers it if AutoRegisterUser=true, otherwise throws |
NoTenantDatabaseFound |
Account exists, table does not | Creates it if AutoCreateLedger=true, otherwise throws |
Concurrency is not a concern. The engine is actor-based and message driven, so
simultaneous requests for the same table resolve to the same entity— the first
message creates it, later ones address the one that exists. There is no
duplicate-create race, which is why a reported error is treated as a real failure
rather than something to re-validate past: a message from CreateDatabaseAsync
means a rejected name, a quota, or a permission, and the provider throws with it.
Each remediation is still followed by a fresh IsCredentialsValid, confirming the
state it was meant to reach was actually reached.
Both flags are off by default, and the exception when they are off tells you which one to set:
ElephantException: Ledger 'portal_table' does not exist for 'svc@example.com'.
Create it in the management portal, or set AutoCreateLedger=true to have the
provider create it on open.
When to turn them on
AutoCreateLedger is reasonable for local development, integration tests and
throwaway environments. Repeated creation is harmless — the entitymodel makes it
idempotent — but a typo in Database produces an empty table instead of an error,
and the application then runs against nothing.
AutoRegisterUser should stay off anywhere that is not a developer machine.
Opening a connection is not the place to create an identity: it needs the password
in the connection string, it races across replicas, and a stale UserEmail
variable becomes a new account rather than a failure. Provision service accounts
deliberately.
// Local development - stand everything up on first run.
var dev = new ElephantConnectionStringBuilder
{
BaseUri = "https://api.elephantsqldb.example/",
Token = token,
UserEmail = "dev@example.com",
Database = "dev_table",
AutoRegisterUser = true,
Password = "…",
AutoCreateLedger = true
};
// Production - fail loudly if either is missing.
var prod = new ElephantConnectionStringBuilder
{
BaseUri = "https://api.elephantsqldb.example/",
Token = token,
UserEmail = "svc@example.com",
Database = "portal_table"
};
Doing it yourself
Where the bootstrap needs to be explicit — a provisioning job rather than a connection open — drive the client directly and leave both flags off:
var client = factory.GetApiClient();
var status = await client.IsCredentialsValid();
if (status == AuthStatus.CredentialsNotFound)
{
await client.RegisterNewUserAsync(
email, password, firstName, middleName, lastName, phone, false);
status = await client.IsCredentialsValid();
}
if (status == AuthStatus.NoTenantDatabaseFound)
{
var (errorMessage, _) = await client.CreateDatabaseAsync(client.GetLedgerName());
if (!string.IsNullOrEmpty(errorMessage))
logger.LogWarning("Ledger creation reported: {Message}", errorMessage);
status = await client.IsCredentialsValid();
}
if (status != AuthStatus.Success)
throw new InvalidOperationException($"Provisioning did not complete: {status}.");
Building one in code
var builder = new ElephantConnectionStringBuilder
{
BaseUri = "https://api.elephantsqldb.example/",
Token = token,
UserEmail = "svc@example.com",
Database = "portal_table",
MaxRecords = 250,
CommandTimeout = 60
};
builder.Validate();
var connectionString = builder.ConnectionString;
5. Dependency injection
Program.cs — minimal hosting
using ElephantSqlDb.Data;
using ServiceStack.Data;
using ServiceStack.OrmLite;
var builder = WebApplication.CreateBuilder(args);
var connectionString = builder.Configuration.GetConnectionString("Portal")
?? throw new InvalidOperationException(
"ConnectionStrings:Portal is not set. In the cluster this comes from the " +
"ConnectionStrings__Portal environment variable.");
// Singleton. The factory holds no connection - it hands one out per
// OpenDbConnectionAsync call.
builder.Services.AddSingleton<IDbConnectionFactory>(_ => new OrmLiteConnectionFactory(
connectionString,
ElephantOrmLiteDialectProvider.Instance));
var app = builder.Build();
app.Run();
Startup.cs — classic hosting
public class Startup(IConfiguration configuration)
{
public void ConfigureServices(IServiceCollection services)
{
var connectionString = configuration.GetConnectionString("Portal")
?? throw new InvalidOperationException("ConnectionStrings:Portal is not set.");
services.AddSingleton<IDbConnectionFactory>(_ => new OrmLiteConnectionFactory(
connectionString,
ElephantOrmLiteDialectProvider.Instance));
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { }
}
Raw ADO.NET without OrmLite
builder.Services.AddSingleton(new ElephantConnectionStringBuilder
{
ConnectionString = connectionString
});
builder.Services.AddScoped<DbConnection>(sp =>
new ElephantConnection(
sp.GetRequiredService<ElephantConnectionStringBuilder>().ConnectionString));
Scoped, not singleton — DbConnection is not thread-safe, and a singleton would be
shared across concurrent requests.
Registering by invariant name
ElephantProviderFactory.Register();
var factory = DbProviderFactories.GetFactory("ElephantSqlDb.Data");
using var connection = factory.CreateConnection();
Useful for tools that resolve providers by name.
Do you need a repository per table?
No. IDbConnectionFactory is the only registration the provider requires.
Everything above it is your choice of structure. Three reasonable shapes:
Inject the factory directly. OrmLite is already a data-access abstraction; wrapping it per table mostly adds indirection.
public sealed class OfferingService(IDbConnectionFactory dbFactory)
{
public async Task<List<Offering>> GetOpenAsync(CancellationToken ct = default)
{
using var db = await dbFactory.OpenDbConnectionAsync(token: ct);
return await db.SelectAsync<Offering>(o => o.Status == OfferingStatus.Open, token: ct);
}
}
One open generic, registered once.
services.AddScoped(typeof(IRepository<>), typeof(Repository<>));
Repositories only where they earn it. Under this provider there is a specific argument for this: the engine enforces no unique constraints, so checks like "is this slug taken" have to live somewhere consistent. A repository is a reasonable home. That is a handful of aggregates, not one per table.
6. Choosing an API: the same tasks four ways
The package supports four ways to reach the same tables. They share one connection
type (ElephantConnection), one parameter binder and one set of value formats, so
you can mix them in one application and even on one table.
| API | Use it when | Section |
|---|---|---|
| ADO.NET | You want full control of the SQL and the reader, or a tool needs a plain DbConnection. |
7 |
| Entity Framework Core | You want LINQ, change tracking, DbContext injection, or scaffolding (Radzen, Blazor apps). |
11 |
| OrmLite | You want typed CRUD with little ceremony, or are porting a PostgreSQL OrmLite app. | 9 |
| Dapper | You want hand-written SQL mapped straight onto objects, with minimal overhead. | 10 |
Any of the ADO.NET paths can also take read queries written in DQL (Dynatrace Query Language), translated to SQL by the provider. The read examples below include the DQL form; DQL has no writes. See section 22.
Every example below works against the same table:
offerings (id, slug, name, status, target_amount, close_at)
Registration
ADO.NET — one connection per scope:
builder.Services.AddScoped<DbConnection>(_ => new ElephantConnection(connectionString));
Entity Framework Core — a context factory (the right choice for Blazor Server):
builder.Services.AddDbContextFactory<PortalDbContext>(options =>
options.UseElephantSqlDb(connectionString));
OrmLite — a singleton connection factory:
builder.Services.AddSingleton<IDbConnectionFactory>(_ => new OrmLiteConnectionFactory(
connectionString, ElephantOrmLiteDialectProvider.Instance));
Dapper — no registration of its own; it runs on the ADO.NET connection. Map snake_case columns to PascalCase properties once at startup:
Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;
SqlMapper.AddTypeHandler(new GuidTypeHandler()); // see section 10
Entity definitions
ADO.NET — no entity; read columns by ordinal or name.
Entity Framework Core:
[Table("offerings")]
public class Offering
{
[Column("id")] public Guid Id { get; set; }
[Column("slug")] public string Slug { get; set; } = "";
[Column("name")] public string Name { get; set; } = "";
[Column("status")] public string Status { get; set; } = "Draft";
[Column("target_amount")] public decimal TargetAmount { get; set; }
[Column("close_at")] public DateTimeOffset? CloseAt { get; set; }
}
public class PortalDbContext(DbContextOptions<PortalDbContext> options) : DbContext(options)
{
public DbSet<Offering> Offerings => Set<Offering>();
}
OrmLite:
[Alias("offerings")]
public class Offering
{
[PrimaryKey, Alias("id")] public Guid Id { get; set; } = Guid.NewGuid();
[Alias("slug")] public string Slug { get; set; } = "";
[Alias("name")] public string Name { get; set; } = "";
[Alias("status")] public string Status { get; set; } = "Draft";
[Alias("target_amount")] public decimal TargetAmount { get; set; }
[Alias("close_at")] public DateTimeOffset? CloseAt { get; set; }
}
Dapper — a plain class; MatchNamesWithUnderscores maps target_amount to
TargetAmount:
public class Offering
{
public Guid Id { get; set; }
public string Slug { get; set; } = "";
public string Name { get; set; } = "";
public string Status { get; set; } = "Draft";
public decimal TargetAmount { get; set; }
public DateTimeOffset? CloseAt { get; set; }
}
In a real application keep one Offering class and put both the EF Core and OrmLite
attributes on it; they do not conflict.
Query a list
ADO.NET:
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
await using var command = connection.CreateCommand();
command.CommandText = "SELECT id, name, target_amount FROM offerings WHERE status = @status";
command.Parameters.Add(new ElephantParameter("status", "Open"));
await using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
var id = reader.GetGuid(0);
var name = reader.GetString(1);
var target = reader.GetDecimal(2);
}
Entity Framework Core:
await using var db = await dbFactory.CreateDbContextAsync();
var open = await db.Offerings
.AsNoTracking()
.Where(o => o.Status == "Open")
.ToListAsync();
OrmLite:
using var db = await dbFactory.OpenDbConnectionAsync();
var open = await db.SelectAsync<Offering>(o => o.Status == "Open");
Dapper:
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
var open = await connection.QueryAsync<Offering>(
"SELECT * FROM offerings WHERE status = @status", new { status = "Open" });
DQL:
await using var command = connection.CreateCommand();
command.QueryLanguage = ElephantQueryLanguage.Dql;
command.CommandText = "fetch offerings | filter status == $status | fields id, name, target_amount";
command.Parameters.Add(new ElephantParameter("status", "Open"));
await using var reader = await command.ExecuteReaderAsync();
Get one row
ADO.NET:
await using var command = connection.CreateCommand();
command.CommandText = "SELECT id, name FROM offerings WHERE slug = @slug";
command.Parameters.Add(new ElephantParameter("slug", "seed-round"));
await using var reader = await command.ExecuteReaderAsync();
var found = await reader.ReadAsync();
var name = found ? reader.GetString(reader.GetOrdinal("name")) : null;
Entity Framework Core:
var one = await db.Offerings.SingleOrDefaultAsync(o => o.Slug == "seed-round");
var byKey = await db.Offerings.FindAsync(offeringId);
OrmLite:
var one = await db.SingleAsync<Offering>(o => o.Slug == "seed-round");
var byKey = await db.SingleByIdAsync<Offering>(offeringId);
Dapper:
var one = await connection.QuerySingleOrDefaultAsync<Offering>(
"SELECT * FROM offerings WHERE slug = @slug", new { slug = "seed-round" });
DQL:
await using var command = connection.CreateCommand();
command.QueryLanguage = ElephantQueryLanguage.Dql;
command.CommandText = "fetch offerings | filter slug == \"seed-round\" | fields id, name | limit 1";
await using var reader = await command.ExecuteReaderAsync();
var found = await reader.ReadAsync();
Count
ADO.NET:
await using var command = connection.CreateCommand();
command.CommandText = "SELECT COUNT(*) AS total FROM offerings WHERE status = @status";
command.Parameters.Add(new ElephantParameter("status", "Open"));
var total = Convert.ToInt64(await command.ExecuteScalarAsync());
Entity Framework Core:
var total = await db.Offerings.CountAsync(o => o.Status == "Open");
OrmLite:
var total = await db.CountAsync<Offering>(o => o.Status == "Open");
Dapper:
var total = await connection.ExecuteScalarAsync<long>(
"SELECT COUNT(*) AS total FROM offerings WHERE status = @status", new { status = "Open" });
DQL — from TotalItems, or with summarize:
var total = await connection.CountDqlAsync("fetch offerings | filter status == \"Open\"");
command.QueryLanguage = ElephantQueryLanguage.Dql;
command.CommandText = "fetch offerings | filter status == \"Open\" | summarize total = count()";
var counted = Convert.ToInt64(await command.ExecuteScalarAsync());
Page through results
ADO.NET — the paging helper returns one page plus the total match count:
var page = await connection.QueryPageAsync(
"SELECT id, name FROM offerings ORDER BY name",
r => new { Id = r.GetGuid(0), Name = r.GetString(1) },
pageNumber: 2);
var totalRows = page.TotalItems;
Entity Framework Core:
var page = await db.Offerings
.AsNoTracking()
.OrderBy(o => o.Name)
.Skip(20).Take(20)
.ToListAsync();
OrmLite:
var page = await db.SelectAsync(db.From<Offering>()
.OrderBy(o => o.Name)
.Limit(skip: 20, rows: 20));
Dapper:
var page = await connection.QueryAsync<Offering>(
"SELECT * FROM offerings ORDER BY name LIMIT @take OFFSET @skip",
new { take = 20, skip = 20 });
DQL:
var page = await connection.QueryDqlPageAsync(
"fetch offerings | fields id, name | sort name",
r => new { Id = r.GetGuid(0), Name = r.GetString(1) },
pageNumber: 2);
var totalRows = page.TotalItems;
Insert
Every API must supply the key: there is no identity or sequence. DQL is read-only, so Insert, Update and Delete have no DQL form.
ADO.NET:
await using var command = connection.CreateCommand();
command.CommandText =
"INSERT INTO offerings (id, slug, name, status, target_amount) " +
"VALUES (@id, @slug, @name, @status, @target)";
command.Parameters.Add(new ElephantParameter("id", Guid.NewGuid()));
command.Parameters.Add(new ElephantParameter("slug", "seed-round"));
command.Parameters.Add(new ElephantParameter("name", "Seed Round"));
command.Parameters.Add(new ElephantParameter("status", "Open"));
command.Parameters.Add(new ElephantParameter("target", 2_500_000m));
await command.ExecuteNonQueryAsync();
Entity Framework Core — the Guid key is generated for you on Add:
db.Offerings.Add(new Offering
{
Slug = "seed-round", Name = "Seed Round", Status = "Open", TargetAmount = 2_500_000m
});
await db.SaveChangesAsync();
OrmLite:
await db.InsertAsync(new Offering
{
Id = Guid.NewGuid(), Slug = "seed-round", Name = "Seed Round",
Status = "Open", TargetAmount = 2_500_000m
});
Dapper:
await connection.ExecuteAsync(
"INSERT INTO offerings (id, slug, name, status, target_amount) " +
"VALUES (@Id, @Slug, @Name, @Status, @TargetAmount)",
new Offering
{
Id = Guid.NewGuid(), Slug = "seed-round", Name = "Seed Round",
Status = "Open", TargetAmount = 2_500_000m
});
Update
UPDATE reports no affected-row count on this engine, so none of the four APIs can
tell you whether a row matched (see section 13).
ADO.NET:
await using var command = connection.CreateCommand();
command.CommandText = "UPDATE offerings SET status = @status WHERE id = @id";
command.Parameters.Add(new ElephantParameter("status", "Closed"));
command.Parameters.Add(new ElephantParameter("id", offeringId));
await command.ExecuteNonQueryAsync(); // returns -1: count not known
Entity Framework Core:
var offering = await db.Offerings.FindAsync(offeringId);
offering!.Status = "Closed";
await db.SaveChangesAsync();
OrmLite:
await db.UpdateOnlyAsync(() => new Offering { Status = "Closed" },
where: o => o.Id == offeringId);
Dapper:
await connection.ExecuteAsync(
"UPDATE offerings SET status = @status WHERE id = @id",
new { status = "Closed", id = offeringId });
Delete
ADO.NET:
await using var command = connection.CreateCommand();
command.CommandText = "DELETE FROM offerings WHERE id = @id";
command.Parameters.Add(new ElephantParameter("id", offeringId));
await command.ExecuteNonQueryAsync();
Entity Framework Core:
var offering = await db.Offerings.FindAsync(offeringId);
if (offering is not null)
{
db.Offerings.Remove(offering);
await db.SaveChangesAsync();
}
OrmLite:
await db.DeleteByIdAsync<Offering>(offeringId);
Dapper:
await connection.ExecuteAsync("DELETE FROM offerings WHERE id = @id", new { id = offeringId });
Mixing APIs
Because every API runs on ElephantConnection, you can drop down a level whenever
it helps:
// From EF Core to Dapper on the same connection
var connection = db.Database.GetDbConnection();
await db.Database.OpenConnectionAsync();
var names = await connection.QueryAsync<string>("SELECT name FROM offerings");
// From OrmLite to ADO.NET
using var ormLite = await dbFactory.OpenDbConnectionAsync();
using var command = ormLite.CreateCommand();
command.CommandText = "SELECT COUNT(*) AS total FROM offerings";
var total = Convert.ToInt64(command.ExecuteScalar());
What the four have in common, and why the rest of this guide applies to all of them:
- No transactions — EF Core
SaveChanges, OrmLiteSaveAsyncand multi-statement ADO.NET or Dapper code are all non-atomic. See section 13. - Keys are yours to assign — no identity or sequence in any API.
- One set of value formats —
Guid, dates and times are stored as text in the same format, so a row written by one API reads back in the others. See section 12. - One parameter binder — values from all four go through
ElephantParameterBinder. See section 15.
7. Raw ADO.NET
Query
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
await using var command = connection.CreateCommand();
command.CommandText = "SELECT id, name, close_at FROM offerings WHERE status = @status";
command.Parameters.Add(new ElephantParameter("status", "Open"));
await using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
var id = reader.GetGuid(0);
var name = reader.GetString(1);
var closeAt = reader.IsDBNull(2) ? (DateTime?)null : reader.GetDateTime(2);
}
Scalar
await using var command = connection.CreateCommand();
command.CommandText = "SELECT COUNT(*) AS total FROM subscriptions WHERE offering_id = @id";
command.Parameters.Add(new ElephantParameter("id", offeringId));
var total = Convert.ToInt64(await command.ExecuteScalarAsync());
Returns the first column of the first row, or null on an empty result.
Write
await using var command = connection.CreateCommand();
command.CommandText =
"INSERT INTO offerings (id, slug, name, status) VALUES (@id, @slug, @name, @status)";
command.Parameters.Add(new ElephantParameter("id", Guid.NewGuid()));
command.Parameters.Add(new ElephantParameter("slug", "seed-round"));
command.Parameters.Add(new ElephantParameter("name", "Seed Round"));
command.Parameters.Add(new ElephantParameter("status", "Open"));
var affected = await command.ExecuteNonQueryAsync();
ExecuteNonQuery returns a real row count for INSERT, because the provider loops
the rows itself. For UPDATE and DELETE it returns -1 — ADO.NET's "not known" —
because the API reports no count and a fabricated 1 would be worse than none.
Saving a file as a record
SAVEFILEASRECORD stores a file — an ONNX model, a document, an image — as a
record. Pass it as the command text and run it with ExecuteNonQuery:
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
connection.ChangeDatabase("postgresql_postgres_public");
await using var command = connection.CreateCommand();
command.CommandText =
@"SAVEFILEASRECORD ""C:\Dataark Systems LLC\Sourcecode\ESP-FailuresModel\onnx_models\esp_pump\esp_failure_model.onnx"", ""esp_failures_v001""";
await command.ExecuteNonQueryAsync(); // -1 on success; throws ElephantException otherwise
It is the client-side equivalent of:
AuthStatus status = await client.SaveSQLRecordsFromFileAsync(sqlFile, DatabaseName: "postgresql_postgres_public");
- The first argument is the file path, the second the record name; both in double
quotes. A per-command
DatabaseNameworks here as it does for any statement. - The path is read by the client on the machine running your code, not by the server.
- Write the path and name into the command text. Parameters render as single-quoted
SQL literals, which is not the form this command takes;
@inside a double-quoted path is left alone. ExecuteNonQueryreturns-1: the API reports a status, not a count.
Reading by column name
while (await reader.ReadAsync())
{
var id = reader.GetGuid(reader.GetOrdinal("id"));
var name = reader["name"] as string;
}
Column lookup is case-insensitive. GetOrdinal throws IndexOutOfRangeException
for an unknown name.
Choosing the database
Every statement carries a database name, the same DatabaseName argument the
client takes on SelectSQLRecordsAsync, InsertSQLRecordsAsync and the rest. By
default it is the Database keyword. It can be overridden at two levels:
| Level | How | Scope |
|---|---|---|
| Connection | connection.ChangeDatabase("name") |
Every later command on that connection |
| Command | command.DatabaseName = "name" |
That command only |
The most specific setting wins: command.DatabaseName, then ChangeDatabase, then
the Database keyword. Authentication is unaffected — Open always validates
against the Database keyword, and an override only changes where statements run.
Per connection — the equivalent of passing the same DatabaseName to every
client call:
await using var connection = new ElephantConnection(connectionString); // Database=dataaDatabase
await connection.OpenAsync();
connection.ChangeDatabase("postgresql_postgres_public");
await using var insert = connection.CreateCommand();
insert.CommandText = "INSERT INTO api_key (id, user_auth_id, created_date) VALUES (@id, @user, @created)";
insert.Parameters.Add(new ElephantParameter("id", ApiKey.NewId()));
insert.Parameters.Add(new ElephantParameter("user", userAuthId));
insert.Parameters.Add(new ElephantParameter("created", DateTime.UtcNow));
await insert.ExecuteNonQueryAsync(); // written to postgresql_postgres_public
await using var select = connection.CreateCommand();
select.CommandText = "SELECT id, created_date FROM api_key WHERE user_auth_id = @user";
select.Parameters.Add(new ElephantParameter("user", userAuthId));
await using var reader = await select.ExecuteReaderAsync(); // read from postgresql_postgres_public
It is the client-side equivalent of:
await client.InsertSQLRecordsAsync<string>(sql, DatabaseName: "postgresql_postgres_public");
await client.SelectSQLRecordsAsync<string>(sql, DatabaseName: "postgresql_postgres_public");
Per command — one statement against a different database, the rest of the connection unchanged:
await using var command = connection.CreateCommand();
command.CommandText = "SELECT id, name FROM offerings WHERE status = @status";
command.DatabaseName = "postgresql_postgres_public_Wg6JvlNfl8";
command.Parameters.Add(new ElephantParameter("status", "Open"));
await using var reader = await command.ExecuteReaderAsync();
Leaving DatabaseName null (or blank) falls back to the connection.
Reading the current value — connection.Database returns the override if one is
set, otherwise the Database keyword:
Assert.Equal("dataaDatabase", connection.Database);
connection.ChangeDatabase("postgresql_postgres_public");
Assert.Equal("postgresql_postgres_public", connection.Database);
Through Dapper and OrmLite — both sit on the same connection, so set it there before running anything:
// Dapper: IDbConnection.ChangeDatabase
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
connection.ChangeDatabase("postgresql_postgres_public");
var keys = await connection.QueryAsync<ApiKey>("SELECT * FROM api_key WHERE user_auth_id = @u", new { u = userAuthId });
// OrmLite: unwrap to the provider's connection first
using var db = await dbFactory.OpenDbConnectionAsync();
db.ToDbConnection().ChangeDatabase("postgresql_postgres_public");
var rows = await db.SelectAsync<ApiKey>(k => k.UserAuthId == userAuthId);
Things to know:
ChangeDatabaserejects a null or blank name withArgumentException.- The override lasts until it is changed again or the connection string is replaced;
assigning
ConnectionStringclears it. It is not part of the connection string, so a pooled or factory-created connection starts on theDatabasekeyword. - Nothing is validated on the server when the name is set. A misspelt name surfaces
on the first statement — as an empty result for a
SELECT, or as rows written where you did not expect them for anINSERT. INSERTstill goes throughSaveToDatabaseWithNoResponsewith decoded values; the target database is carried in the record envelope'sDatabaseName, which the server uses to route the save.UPDATE,DELETEand other statements pass it as theDatabaseNameargument.
Listing databases and their schema
GetDatabasesAsync returns the databases the connection's account can see, each with
its full schema, read from the client's DatabaseModel records and sorted by display
name.
Name is the database's identity — the value ChangeDatabase, command.DatabaseName
and the table use — and it never changes. DisplayName is for display only; see
Renaming a database.
| Provider record | From | Fields |
|---|---|---|
ElephantDatabase |
DatabaseModel |
Name, DisplayName, Tables |
ElephantTable |
TableModel |
Name, Columns |
ElephantColumn |
ColumnModel |
Name, DataType, IsPrimaryKey, IsForeignKey, ForeignKey |
ElephantForeignKey |
ForeignKeyModel |
Name, ReferencedTable, ReferencedColumn |
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
foreach (var db in await connection.GetDatabasesAsync())
{
Console.WriteLine($"{db.DisplayName} ({db.Name})");
foreach (var table in db.Tables)
Console.WriteLine($" {table.Name}: {string.Join(", ", table.Columns.Select(c => $"{c.Name} {c.DataType}"))}");
}
// One database, by Name (defaults to connection.Database)
var schema = await connection.GetDatabaseAsync("postgresql_postgres_public");
connection.ChangeDatabase(schema!.Name);
DisplayNameisDatabaseDisplayName, orNamewhen that is blank. Entries are keyed byName; if two records share aName, the first wins.- With no
DatabaseModelrecords,GetDatabasesAsyncreturns a single entry, with no tables, forconnection.Database. PassincludeCurrentWhenEmpty: falsefor an empty list.GetDatabaseAsyncmatches onNameonly and returns null for an unknown name. - It runs
select * from DatabaseModel where name != ""typed asDatabaseModel, with noDatabaseNameandStringNameOfType: "DatabaseModel", reading every page. It is not affected byChangeDatabase, and each call is one fresh listing — cache the result if you call it often.
The same data is available through the standard ADO.NET schema API, for tools that
discover schema that way. Restrictions are positional; null or empty means any. The database restriction matches Name.
| Collection | Columns | Restrictions |
|---|---|---|
Databases |
database_name, display_name |
— |
Tables |
database_name, table_name |
database, table |
Columns |
database_name, table_name, column_name, ordinal_position, data_type, is_primary_key, is_foreign_key |
database, table, column |
ForeignKeys |
database_name, table_name, column_name, constraint_name, referenced_table, referenced_column |
database, table |
DataTable databases = await connection.GetSchemaAsync("Databases");
DataTable tables = await connection.GetSchemaAsync("Tables", ["postgresql_postgres_public"]);
DataTable columns = await connection.GetSchemaAsync("Columns", ["postgresql_postgres_public", "api_key"]);
GetSchema() with no arguments returns MetaDataCollections, listing these four.
Creating a database
CreateDatabaseAsync creates a database (table) for the connection's account, on an
open connection, independently of AutoCreateLedger:
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
await connection.CreateDatabaseAsync("sales_2026"); // EncryptionAlgorithm from the connection string
await connection.CreateDatabaseAsync("audit_vault", "SHA512"); // explicit algorithm
connection.ChangeDatabase("sales_2026"); // start using it
The SQL form runs through any command, which is how tools that only speak SQL can do it:
await using var command = connection.CreateCommand();
command.CommandText = "CREATE DATABASE IF NOT EXISTS sales_2026";
await command.ExecuteNonQueryAsync(); // -1: status, not a count
- The name may contain letters, digits,
_and-(1–128 characters); anything else throwsArgumentException. In SQL it may be bare or wrapped in"…",[…]or`…`. - It creates the table a connection with
Database=<name>would open: the name is composed by the client'sGetLedgerName(), exactly as forAutoCreateLedger. - The connection keeps its current database. Call
ChangeDatabase, or setcommand.DatabaseName, to use the new one. - A refusal from the server (a rejected name, a quota, a permission) throws
ElephantException. IF NOT EXISTSruns one lookup —select * from DatabaseModel where name = "<name>"— and does nothing when a database with thatNameexists. It does not list every database, and a display name never counts as a match. WithoutIF NOT EXISTS, the request goes to the server, which decides what an existing name means. The check and the create are two calls, not one atomic step.CreateDatabase(name)is the synchronous form.
Renaming a database
RenameDatabaseAsync changes a database's display name only. Name — the identity
used by ChangeDatabase, command.DatabaseName and the table — is never changed, so
existing connection strings, commands and stored rows keep working.
await connection.RenameDatabaseAsync("sales_2026", "Sales FY2026");
var db = await connection.GetDatabaseAsync("sales_2026"); // still found by Name
Console.WriteLine(db!.DisplayName); // "Sales FY2026"
connection.ChangeDatabase("sales_2026"); // Name, not the display name
- It reads the
DatabaseModelwhoseNamematches (one lookup), setsDatabaseDisplayName, clears each table'sSelectedNodeTableandLinkso the model serializes, and saves it over its own record withSaveToDatabaseWithNoResponse(BlockNameas the record id, its currentBlockHashCodeas the existing hash) — the same steps as the management tooling'sSaveRenamedDatabaseContext. - It returns the number of
DatabaseModelrecords updated, normally 1.Nameis not enforced unique, so every record carrying it is updated. - An unknown
NamethrowsElephantException(NoDataFound). A display name must be 1–200 characters with no control characters. - There is no SQL form.
RenameDatabase(name, displayName)is the synchronous form.
8. Pagination and result metadata
SelectSQLRecordsAsync returns three things — status, rows, and a PaginationDTO.
Most ADO.NET consumers map the rows onto objects and discard everything else, which
loses TotalItems: the one value a paged UI needs and cannot compute for itself.
The provider keeps all three. ElephantPagination carries the DTO's fields plus the
outcome status:
| Member | Notes |
|---|---|
PageNumber |
1-based page this result came from |
PageSize |
Rows per page, as reported by the server |
TotalItems |
Rows matching the query across every page |
TotalPages |
Computed from TotalItems and PageSize |
HasMore |
A further page exists |
IsEmpty |
The query matched nothing |
Status |
AuthStatus name for the call — Success or NoDataFound |
Status is a string rather than the client's enum so that IElephantExecutor stays
free of the client dependency and the tests can run without it. The typed
AuthStatus is on ElephantException for the failure path.
Reading it from the reader
Available before any row is consumed, because TotalItems comes back with the first
page:
await using var command = connection.CreateCommand();
command.CommandText = "SELECT id, name FROM offerings WHERE status = @status";
command.Parameters.Add(new ElephantParameter("status", "Open"));
await using var reader = (ElephantDataReader)await command.ExecuteReaderAsync();
var total = reader.TotalItems; // 412
var pages = reader.Pagination.TotalPages; // 17 at PageSize 25
var more = reader.HasMorePages; // true
var status = reader.Pagination.Status; // "Success"
while (await reader.ReadAsync())
{
// …
}
Reading it from the command
LastPagination is set by ExecuteReader, ExecuteScalar and ExecuteNonQuery,
and survives the reader being disposed — useful when a total is needed after the
rows have been consumed:
using (await command.ExecuteReaderAsync()) { /* … */ }
var total = command.LastPagination!.TotalItems;
Server-side paging
Setting PageNumber fetches exactly that page and stops the reader walking forward.
Without it the reader pages ahead as the consumer reads, which quietly turns a paged
query into a full scan:
command.PageNumber = 3; // exactly page 3, no look-ahead
QueryPageAsync wraps that into one call:
var page = await connection.QueryPageAsync(
"SELECT id, name FROM offerings WHERE status = @status",
r => new OfferingSummary(r.GetGuid(0), r.GetString(1)),
pageNumber: 2,
parameters: [new ElephantParameter("status", "Open")]);
page.Rows; // IReadOnlyList<OfferingSummary>
page.PageNumber; // 2
page.TotalItems; // 412
page.TotalPages; // 17
page.HasMore; // true
Counting without materialising
TotalItems arrives with the first page, so a count is one round trip and no
COUNT(*):
var total = await connection.CountAsync(
"SELECT id FROM subscriptions WHERE offering_id = @id",
[new ElephantParameter("id", offeringId)]);
Streaming every page
await foreach (var name in connection.QueryAllAsync(
"SELECT name FROM offerings", r => r.GetString(0), cancellationToken: ct))
{
// …
}
Each page is a round trip. Bound the query or raise MaxRecords rather than
streaming a whole table.
Through an interface-typed call
OrmLite and Dapper hand back IDbCommand and DbDataReader, so the concrete types
are erased. Two extension methods recover the pagination:
ElephantPagination? fromCommand = someDbCommand.GetPagination();
ElephantPagination? fromReader = someDbDataReader.GetPagination();
Both return null when the object did not come from this provider.
Empty results
An empty result reports NoDataFound, not Success. That distinction matters: it
separates "nothing matched the query" from "this page happened to be short."
if (reader.Pagination.IsEmpty)
{
// No rows anywhere, not just on this page.
}
9. OrmLite
Entities
[Alias("offerings")]
public class Offering
{
[PrimaryKey, Alias("id")]
public Guid Id { get; set; } = Guid.NewGuid();
[Alias("slug"), StringLength(120)]
public required string Slug { get; set; }
[Alias("name"), StringLength(200)]
public required string Name { get; set; }
[Alias("status")]
public OfferingStatus Status { get; set; }
[Alias("target_amount"), DecimalLength(18, 2)]
public decimal TargetAmount { get; set; }
[Alias("close_at")]
public DateTimeOffset? CloseAt { get; set; }
[Alias("created_at")]
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
}
Attributes that behave differently here:
[Schema]is ignored. The table on the connection is the schema, soportal.offeringswould name nothing.[Index]and[Index(Unique = true)]are read and ignored. No index DDL is emitted and no constraint is created.[AutoIncrement]throws. There is no sequence or identity — assign keys yourself.[ForeignKey]produces no constraint.
Reads
using var db = await dbFactory.OpenDbConnectionAsync(token: ct);
var open = await db.SelectAsync<Offering>(
o => o.Status == OfferingStatus.Open, token: ct);
var one = await db.SingleAsync<Offering>(o => o.Slug == slug, token: ct);
var byId = await db.SingleByIdAsync<Offering>(id, token: ct);
var exists = await db.ExistsAsync<Offering>(o => o.Slug == slug, token: ct);
Typed expressions
var query = db.From<Offering>()
.Where(o => o.Status == OfferingStatus.Open)
.And(o => o.CloseAt > DateTimeOffset.UtcNow)
.OrderByDescending(o => o.CreatedAt)
.Limit(skip: 0, rows: 25);
var page = await db.SelectAsync(query, token: ct);
Limit becomes LIMIT … OFFSET …. Note this sits on top of the client's own
pagination: the API returns pages of MaxRecords regardless, and the reader walks
them. A LIMIT bounds the logical result; it does not make the fetch one round
trip.
Writes
offering.Id = Guid.NewGuid();
offering.CreatedAt = DateTimeOffset.UtcNow;
await db.InsertAsync(offering, token: ct);
offering.Name = "Seed Round (Extended)";
await db.UpdateAsync(offering, token: ct);
await db.DeleteByIdAsync<Offering>(offering.Id, token: ct);
Prefer explicit InsertAsync/UpdateAsync over SaveAsync. OrmLite's upsert paths
may reach for a transaction, which throws unless AllowNonTransactional=true.
Raw SQL through OrmLite
var rows = await db.SelectAsync<Offering>(
"SELECT * FROM offerings WHERE status = @status",
new { status = "Open" }, token: ct);
var total = await db.ScalarAsync<long>(
"SELECT COUNT(*) FROM subscriptions WHERE offering_id = @id",
new { id = offeringId }, token: ct);
Schema calls
// Succeeds and does nothing. The table appears on the first insert.
await db.CreateTableIfNotExistsAsync<Offering>();
// Real: uses information_schema, which the engine supports.
var exists = db.TableExists<Offering>();
Leaving CreateTableIfNotExists in your startup is harmless, but understand that
it is not provisioning anything.
10. Dapper
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
var open = await connection.QueryAsync<Offering>(
"SELECT id, slug, name FROM offerings WHERE status = @status",
new { status = "Open" });
var one = await connection.QuerySingleOrDefaultAsync<Offering>(
"SELECT * FROM offerings WHERE slug = @slug",
new { slug = "seed-round" });
Dapper's own type handling applies. Guid columns arrive as strings, so register a
handler if Dapper's default mapping does not cover your case:
public sealed class GuidTypeHandler : SqlMapper.TypeHandler<Guid>
{
public override Guid Parse(object value) =>
value is Guid guid ? guid : Guid.Parse((string)value);
public override void SetValue(IDbDataParameter parameter, Guid value) =>
parameter.Value = value.ToString("D");
}
SqlMapper.AddTypeHandler(new GuidTypeHandler());
11. Entity Framework Core
The ElephantSqlDb.Data package includes an EF Core 8 provider, in the
ElephantSqlDb.EntityFrameworkCore namespaces, built on the ADO.NET types above. It adds LINQ queries, change tracking and scaffolding; it does
not replace or alter ElephantConnection, the OrmLite dialect or Dapper, and all
four can run side by side against the same tables.
Installation
Nothing beyond ElephantSqlDb.Data (section 3). The provider depends on
Microsoft.EntityFrameworkCore.Relational 8.0.x, which the package brings with it.
Add Microsoft.EntityFrameworkCore.Design to the startup project when using the
dotnet ef tools. UseElephantSqlDb lives in the Microsoft.EntityFrameworkCore
namespace, so no extra using is needed.
ADO.NET and EF Core classes
| Role | ADO.NET (namespace ElephantSqlDb.Data) |
EF Core (namespace ElephantSqlDb.EntityFrameworkCore.*) |
|---|---|---|
| Connection | ElephantConnection |
ElephantRelationalConnection (wraps ElephantConnection) |
| Configuration | ElephantConnectionStringBuilder |
UseElephantSqlDb(), ElephantDbContextOptionsBuilder |
| Registration | ElephantProviderFactory |
AddEntityFrameworkElephantSqlDb() |
| Command / execution | ElephantCommand, ElephantSqlDbExecutor |
ElephantBatchExecutor, ElephantModificationCommandBatch |
| Parameters | ElephantParameter, ElephantParameterBinder |
Uses ElephantParameter through type mappings |
| Reading results | ElephantDataReader |
Uses ElephantDataReader |
| SELECT generation | SQL you write | ElephantQuerySqlGenerator |
| INSERT/UPDATE/DELETE | SQL you write | ElephantUpdateSqlGenerator |
| LINQ translation | — | ElephantStringMethodTranslator |
| Type mapping | ElephantDataReader getters, OrmLite converters |
ElephantTypeMappingSource, ElephantValueFormats |
| Transactions | ElephantTransaction |
None — see SaveChanges semantics |
| Schema metadata | GetSchema(), GetDatabasesAsync() |
ElephantDatabaseModelFactory (scaffolding) |
| Database create/check | CreateDatabaseAsync(), GetDatabaseAsync() |
ElephantDatabaseCreator |
| Design-time tooling | — | ElephantDesignTimeServices, ElephantCodeGenerator |
Entities and the DbContext
There is no identity or sequence, so keys must be assigned before the write. Guid
keys need nothing extra: EF Core generates them on the client. Integer keys need
ValueGeneratedNever() and a value you assign.
[Table("offerings")]
public class Offering
{
[Column("id")] public Guid Id { get; set; } // generated client-side by EF Core
[Column("slug")] public string Slug { get; set; } = "";
[Column("name")] public string Name { get; set; } = "";
[Column("status")] public string Status { get; set; } = "Draft";
[Column("target_amount")] public decimal TargetAmount { get; set; }
[Column("opens_at")] public DateTime OpensAt { get; set; } // stored as UTC text
public List<Subscription> Subscriptions { get; set; } = [];
}
[Table("subscriptions")]
public class Subscription
{
[Column("id")] public long Id { get; set; } // app-assigned, see OnModelCreating
[Column("offering_id")] public Guid OfferingId { get; set; }
[Column("investor_email")] public string InvestorEmail { get; set; } = "";
[Column("amount")] public decimal Amount { get; set; }
}
public class PortalDbContext(DbContextOptions<PortalDbContext> options) : DbContext(options)
{
public DbSet<Offering> Offerings => Set<Offering>();
public DbSet<Subscription> Subscriptions => Set<Subscription>();
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Subscription>()
.Property(s => s.Id)
.ValueGeneratedNever();
}
}
Name tables and columns explicitly with [Table]/[Column] (or ToTable()/
HasColumnName()) whenever OrmLite or Dapper also reads them. EF Core defaults to the DbSet property name (Offerings), OrmLite to
the class name (Offering); without an explicit name the two write to different
tables.
Dependency injection
var connectionString = builder.Configuration.GetConnectionString("ElephantSqlDb")
?? throw new InvalidOperationException("ConnectionStrings:ElephantSqlDb is not set.");
builder.Services.AddDbContext<PortalDbContext>(options =>
options.UseElephantSqlDb(connectionString));
Blazor Server components outlive a request, so register a factory there and create a short-lived context per operation:
builder.Services.AddDbContextFactory<PortalDbContext>(options =>
options.UseElephantSqlDb(connectionString));
@inject IDbContextFactory<PortalDbContext> DbFactory
@code {
private List<Offering> offerings = [];
protected override async Task OnInitializedAsync()
{
await using var db = await DbFactory.CreateDbContextAsync();
offerings = await db.Offerings.AsNoTracking().OrderBy(o => o.Name).ToListAsync();
}
}
Provider options go in the second argument:
options.UseElephantSqlDb(connectionString, elephant => elephant
.QuoteIdentifiers() // off by default, as in the OrmLite dialect
.CommandTimeout(60));
Queries
await using var db = await dbFactory.CreateDbContextAsync();
var open = await db.Offerings
.AsNoTracking()
.Where(o => o.Status == "Open" && o.TargetAmount >= 1_000_000m)
.OrderBy(o => o.OpensAt)
.ToListAsync();
var one = await db.Offerings.SingleOrDefaultAsync(o => o.Slug == "seed-round");
var byKey = await db.Offerings.FindAsync(offeringId);
var openCount = await db.Offerings.CountAsync(o => o.Status == "Open");
Skip/Take become LIMIT/OFFSET, the same paging the OrmLite dialect emits:
var page = await db.Offerings
.AsNoTracking()
.OrderBy(o => o.Name)
.Skip((pageNumber - 1) * pageSize)
.Take(pageSize)
.ToListAsync();
String methods translate to LIKE, UPPER and LOWER:
var matches = await db.Offerings
.Where(o => o.Name.Contains("Series") || o.Slug.StartsWith("seed-"))
.Where(o => o.Status.ToUpper() == "OPEN")
.ToListAsync();
Use AsNoTracking() for read-only lists: it skips change tracking and is the right
default for grids and reports.
Navigations and Include() generate JOINs. Confirm JOIN support on the engine
(see Verification) before relying on them; until then, load
related rows with a second query:
var subscriptions = await db.Subscriptions
.Where(s => s.OfferingId == offeringId)
.ToListAsync();
Writes
await using var db = await dbFactory.CreateDbContextAsync();
// Insert
var offering = new Offering
{
Slug = "seed-round",
Name = "Seed Round",
Status = "Open",
TargetAmount = 2_500_000m,
OpensAt = DateTime.UtcNow
};
db.Offerings.Add(offering); // Id assigned here, client-side
await db.SaveChangesAsync();
// Update
offering.Status = "Closed";
await db.SaveChangesAsync(); // UPDATE ... WHERE Id = ...
// Delete
db.Offerings.Remove(offering);
await db.SaveChangesAsync();
// Integer key: assign it yourself
db.Subscriptions.Add(new Subscription
{
Id = await NextSubscriptionIdAsync(),
OfferingId = offering.Id,
InvestorEmail = "investor@example.com",
Amount = 25_000m
});
await db.SaveChangesAsync();
Each changed entity is one statement and one round trip, executed with
ExecuteNonQuery. Nothing is read back after a write, so defaults, computed columns
and server-generated values are not supported; the provider throws
NotSupportedException naming the column if a model asks for one.
SaveChanges semantics
Read this before writing code that saves more than one entity at a time.
- Not atomic. EF Core normally wraps
SaveChangesin a transaction. The engine has none (see section 13), so the provider runs the statements in order without one. If the third of five fails, the first two stay applied andDbUpdateExceptionis thrown for the third. - No concurrency detection.
UPDATEandDELETEreport no affected-row count, so a write that matched no row succeeds silently. Concurrency tokens ([ConcurrencyCheck],[Timestamp]) are not enforced. - No cascades. Foreign keys are not constraints (see section 14). Delete dependents yourself, before the principal.
Order writes so a partial failure is recoverable, and keep a compensating path for multi-entity changes — the same guidance as for raw ADO.NET and OrmLite:
db.Subscriptions.RemoveRange(
await db.Subscriptions.Where(s => s.OfferingId == offering.Id).ToListAsync());
await db.SaveChangesAsync(); // dependents first
db.Offerings.Remove(offering);
await db.SaveChangesAsync(); // then the principal
Calling db.Database.BeginTransaction() explicitly follows the ADO.NET rules: it throws
unless the connection string sets AllowNonTransactional=true, and even then cannot
roll back.
Raw SQL and Dapper on the same connection
var rows = await db.Offerings
.FromSqlInterpolated($"SELECT * FROM offerings WHERE status = {status}")
.AsNoTracking()
.ToListAsync();
var total = await db.Database
.SqlQuery<decimal>($"SELECT SUM(amount) AS Value FROM subscriptions WHERE offering_id = {offeringId}")
.SingleAsync();
Interpolated values become ElephantParameters and go through
ElephantParameterBinder, so they are escaped exactly as in raw ADO.NET.
The context's connection is an ElephantConnection, so Dapper and the pagination
helpers work on it directly:
var connection = (ElephantConnection)db.Database.GetDbConnection();
await db.Database.OpenConnectionAsync();
var page = await connection.QueryPageAsync(
"SELECT id, name FROM offerings ORDER BY name",
r => new { Id = r.GetGuid(0), Name = r.GetString(1) },
pageNumber: 2);
var open = await connection.QueryAsync<Offering>(
"SELECT * FROM offerings WHERE status = @status", new { status = "Open" });
Sharing tables with OrmLite and Dapper
EF Core writes Guid, DateTime, DateTimeOffset, TimeSpan, DateOnly and
TimeOnly as text, in the same formats as the OrmLite converters (see
section 12). A row written by any of the three reads back the
same through the others, provided the table and column names match.
// Written by EF Core...
db.Offerings.Add(new Offering { Slug = "series-a", Name = "Series A", OpensAt = DateTime.UtcNow });
await db.SaveChangesAsync();
// ...read by OrmLite
using var ormLite = await ormLiteFactory.OpenDbConnectionAsync(); // IDbConnectionFactory
var fromOrmLite = await ormLite.SingleAsync<Offering>(o => o.Slug == "series-a");
Creating the database
await db.Database.EnsureCreatedAsync(); // creates the ledger if missing
EnsureCreated creates the database only. Tables are created by the engine on their
first write, so there is nothing more to provision. EnsureDeleted throws, and EF Core
migrations are not supported because the engine accepts no ALTER, DROP or
CREATE INDEX (see section 14). Migrate() throws
NotSupportedException with that explanation.
Scaffolding an existing database
Generate entities and a DbContext from tables that already exist:
dotnet tool install --global dotnet-ef
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet ef dbcontext scaffold "BaseUri=https://api.elephantsqldb.com;Token=...;Database=portal" ^
ElephantSqlDb.Data --output-dir Models --context PortalDbContext
Scaffolding reads tables, columns, primary keys and foreign keys from the same
DatabaseModel listing as GetSchema. That listing carries no nullability, length or
index information, so:
- every non-key column is generated as nullable (
int?,string?); - no indexes are generated;
- integer keys are generated with
ValueGeneratedNever().
Pass the connection string by name (Name=ConnectionStrings:ElephantSqlDb) rather than
inline, to keep the token out of generated code.
Using EF Core with Radzen Blazor
Radzen Blazor components bind to any IQueryable, so a context works with the
DataGrid directly. For large tables, page on the server through LoadData:
@inject IDbContextFactory<PortalDbContext> DbFactory
<RadzenDataGrid Data="@offerings" Count="@count" LoadData="@LoadData"
AllowPaging="true" PageSize="20" AllowSorting="true" TItem="Offering">
<Columns>
<RadzenDataGridColumn Property="Name" Title="Name" />
<RadzenDataGridColumn Property="Status" Title="Status" />
<RadzenDataGridColumn Property="TargetAmount" Title="Target" FormatString="{0:C0}" />
</Columns>
</RadzenDataGrid>
@code {
private IEnumerable<Offering> offerings = [];
private int count;
private async Task LoadData(LoadDataArgs args)
{
await using var db = await DbFactory.CreateDbContextAsync();
var query = db.Offerings.AsNoTracking();
query = string.IsNullOrEmpty(args.OrderBy)
? query.OrderBy(o => o.Name)
: query.OrderBy(args.OrderBy); // Radzen's dynamic LINQ extension
count = await query.CountAsync();
offerings = await query.Skip(args.Skip ?? 0).Take(args.Top ?? 20).ToListAsync();
}
}
Radzen Blazor Studio's database wizard lists only the providers Radzen ships with.
Until ElephantSqlDB is added there, scaffold with dotnet ef (above) and use the
generated context in Studio as an existing data source.
EF Core limitations at a glance
| Area | Behavior |
|---|---|
| Keys | No identity or sequences. Guid keys work as-is; integer keys need ValueGeneratedNever() and an assigned value. |
| SaveChanges | One statement per round trip, no transaction. Not atomic. |
| Concurrency | Not enforced; UPDATE/DELETE report no row count. |
| Migrations | Not supported. EnsureCreated creates the ledger only. |
| Store-generated values | Not supported (no defaults, computed columns or RETURNING). |
| Identifiers | Unquoted by default; enable with QuoteIdentifiers(). |
| Joins and grouping | Depend on engine support — verify before using Include(), Any(), GroupBy(). |
12. Type mapping
| CLR type | Column definition | On the wire | Notes |
|---|---|---|---|
string |
TEXT / VARCHAR(n) |
string | |
bool |
BOOLEAN |
1 / 0 |
Reads true/false too |
byte…long |
INTEGER / BIGINT |
number | |
float, double |
DOUBLE PRECISION |
number | |
decimal |
NUMERIC(38,6) |
number | Invariant culture |
Guid |
VARCHAR(36) |
canonical D string |
|
DateTime |
TIMESTAMP |
yyyy-MM-dd HH:mm:ss.fffffff |
Parsed as UTC |
DateTimeOffset |
VARCHAR(40) |
UTC, same format | Offset not preserved |
TimeSpan |
VARCHAR(32) |
c format |
|
byte[] |
BYTEA |
hex / base64 | |
Enum |
integer | number |
Two things to be deliberate about
DateTimeOffset loses its offset. Values are normalised to UTC on write and
read back as UTC. That is a deliberate choice: the transport carries no zone, so
keeping local time would mean the same row reads as a different instant depending
on which machine read it. If the original offset matters to your domain, store it
in a separate column.
Column types are inferred, not declared. Rows arrive as JSON with no schema.
The reader fixes column names and ordinals from the first row of the first page,
and infers each column's CLR type from the first non-null value in that page. A
column that is entirely null on the first page types as object.
That schema is then held for the life of the reader. A later page with different keys would otherwise shift what an ordinal means mid-read, and a consumer that has already mapped ordinal 3 to a property has no way to notice.
13. No transactions
The engine exposes no transaction verbs. BeginTransaction throws by default:
using var transaction = connection.BeginTransaction();
// NotSupportedException
Setting AllowNonTransactional=true returns a scope that satisfies the ADO.NET
surface without isolating anything. Even then, Rollback throws — statements were
applied as they were issued, and a silent no-op rollback would report a half-written
record as cleanly reverted.
// AllowNonTransactional=true
using var transaction = connection.BeginTransaction();
// … statements are already applied as each executes …
transaction.Commit(); // no-op
transaction.Rollback(); // NotSupportedException
What to do instead
Order writes so a partial failure is recoverable. Write the dependent record first and the record that makes it visible last, so a failure leaves an orphan rather than a dangling reference.
// Investor and allocation first. If the subscription write fails, they are
// orphaned - findable and cleanable - rather than referenced by a subscription
// that has no allocation.
await db.InsertAsync(investor, token: ct);
await db.InsertAsync(allocation, token: ct);
await db.InsertAsync(subscription, token: ct);
Compensate explicitly.
var written = new List<Guid>();
try
{
await db.InsertAsync(investor, token: ct);
written.Add(investor.Id);
await db.InsertAsync(allocation, token: ct);
written.Add(allocation.Id);
}
catch
{
foreach (var id in written)
await TryDeleteAsync(id, ct);
throw;
}
Or keep multi-table writes on a database that has transactions. For a workflow where partial application is genuinely unacceptable — a securities subscription spanning investor, allocation and table records — that is the honest answer.
14. No DDL, no constraints
The engine is schema-on-write. A table comes into being when the first row is written, named for the record type supplied to the save.
| Statement | Behaviour |
|---|---|
CREATE TABLE |
Generated, accepted, dropped |
CREATE DATABASE |
Creates the table (CreateDatabaseAsync) |
ALTER, DROP, TRUNCATE, CREATE INDEX |
NotSupportedException |
Destructive DDL throws rather than being ignored, because treating a DROP as a
no-op would report a table as removed while it still holds every row.
The part that is easy to miss
PRIMARY KEY, NOT NULL, UNIQUE and foreign keys are not enforced.
An [Index(Unique = true)] on Offering.Slug constrains nothing. A second row
with the same slug will be accepted, and /invest/seed-round becomes ambiguous.
Enforce it in the application:
public async Task CreateAsync(Offering offering, CancellationToken ct = default)
{
using var db = await dbFactory.OpenDbConnectionAsync(token: ct);
// The engine enforces no unique constraint, so this check is the only one.
// Note it is a read-then-write with no transaction: two concurrent calls can
// both pass. Where that matters, serialise upstream.
if (await db.ExistsAsync<Offering>(o => o.Slug == offering.Slug, token: ct))
throw new InvalidOperationException($"Slug '{offering.Slug}' is already taken.");
offering.Id = Guid.NewGuid();
offering.CreatedAt = DateTimeOffset.UtcNow;
await db.InsertAsync(offering, token: ct);
}
The race window is real and cannot be closed at the data layer. Where uniqueness is load-bearing, serialise through a single writer, a distributed lock, or a deterministic key that makes collisions impossible.
Provisioning a schema
Through the ElephantSqlDB management portal — the Visual Schema Designer, or a Data Migration import from an existing PostgreSQL or SQLite database. Not from application startup.
15. Parameters and injection
The backend accepts a complete statement and binds nothing, so
ElephantParameterBinder renders values into the SQL text. This is the highest-risk
file in the package and the one to review most carefully.
What it does:
- Walks the statement, skipping string literals and comments, so a marker inside one is left alone
- Matches names longest-first, so
@idis never substituted inside@id_2 - Accepts
@nameand:name - Formats each value from its CLR type under invariant culture
- Doubles embedded quotes and strips NUL
- Throws on any type without an explicit rule
That last point matters. There is no ToString fallback, because that fallback is
exactly how a value carrying a quote escapes its literal.
// Safe: rendered as a quoted literal with doubled quotes.
command.Parameters.Add(new ElephantParameter("name", "x'; DROP TABLE users; --"));
// → WHERE name = 'x''; DROP TABLE users; --'
// Throws NotSupportedException rather than guessing.
command.Parameters.Add(new ElephantParameter("v", new MyType()));
Convert unusual types before assigning Value. If you add a type rule, add a test
in ParameterBinderTests at the same time.
Never concatenate user input into CommandText. The binder only protects values
passed as parameters.
16. Performance
Opening a connection is expensive. Each OpenAsync constructs a client and
makes an authentication round trip. There is no connection pool. Open once per unit
of work:
// Good
using var db = await dbFactory.OpenDbConnectionAsync(token: ct);
foreach (var id in ids)
results.Add(await db.SingleByIdAsync<Offering>(id, token: ct));
// Bad - one auth round trip per iteration
foreach (var id in ids)
{
using var db = await dbFactory.OpenDbConnectionAsync(token: ct);
results.Add(await db.SingleByIdAsync<Offering>(id, token: ct));
}
Every command is an HTTP call. Batch with IN clauses rather than looping:
var offerings = await db.SelectAsync<Offering>(o => ids.Contains(o.Id), token: ct);
Reads are paged. MaxRecords bounds each round trip; the reader fetches the
next page when the consumer reads past the end of the current one. A scan of 10,000
rows at the default MaxRecords=100 is 100 HTTP calls. Raise MaxRecords for
scan-heavy workloads, or bound the query with LIMIT.
Set PageNumber when you want one page. Left unset, the reader walks forward
until the result is exhausted — a query intended as page 1 of a grid becomes a full
scan. See section 8.
Use CountAsync rather than COUNT(*). TotalItems arrives with the first
page, so a count costs one round trip and a page of rows instead of a second query.
Multi-row inserts are one call per row. InsertAll over 500 records is 500
round trips, with no rollback if one fails partway.
Async is real. The client is HttpClient-based, so ReadAsync and
ExecuteReaderAsync do not block a thread-pool thread. Use the async overloads
throughout — the sync ones block on the async path.
17. Error handling
try
{
await db.InsertAsync(offering, token: ct);
}
catch (ElephantException ex)
{
// Carries the client's AuthStatus.
logger.LogError(ex, "Insert failed with {Status}.", ex.Status);
if (ex.Status is AuthStatus.TokenInvalid or AuthStatus.Unauthenticated)
await RefreshTokenAsync(ct);
throw;
}
catch (NotSupportedException ex)
{
// Unsupported DDL, a transaction, or a parameter type with no literal rule.
logger.LogError(ex, "Unsupported operation.");
throw;
}
| Exception | Cause |
|---|---|
InvalidOperationException |
Connection not open, CommandText empty, required keyword missing, unrecognised QueryLanguage, DQL $name with no parameter |
ElephantException |
Backend returned a non-success AuthStatus |
NotSupportedException |
DDL, transaction, unmapped parameter type, DQL the provider cannot translate, or ExecuteNonQuery on a DQL command |
DqlSyntaxException |
Malformed DQL; Position is the character offset (section 22) |
InvalidCastException |
Column value did not convert to the requested type |
IndexOutOfRangeException |
Unknown column name or ordinal |
18. Testing
IElephantExecutor exists so the provider can be tested without a live API. The
client's operations are extension methods on IElephantSqlDBAPIService and cannot
be substituted, so without the seam nothing above it would be testable.
[Fact]
public async Task Parses_guid_from_string_column()
{
var id = Guid.Parse("0192f9a0-1111-7222-8333-444455556666");
var fake = new FakeElephantExecutor().EnqueuePage(
FakeElephantExecutor.Row(("id", id.ToString("D"))));
await using var connection = await fake.OpenConnectionAsync();
using var command = connection.CreateCommand();
command.CommandText = "SELECT id FROM offerings";
using var reader = await command.ExecuteReaderAsync();
Assert.True(await reader.ReadAsync());
Assert.Equal(id, reader.GetGuid(0));
}
FakeElephantExecutor records every statement after binding, which is how the
binder is asserted end to end:
Assert.Equal(
"SELECT id FROM offerings WHERE slug = 'seed-round'",
fake.Statements[0]);
Use EnqueuePartialPage to force the reader's paging path — a small fixture never
takes it otherwise. It also sets TotalItems independently of the row count, which
is how the pagination assertions are written:
var fake = new FakeElephantExecutor()
.EnqueuePartialPage(1, 25, 412, FakeElephantExecutor.Row(("id", "1")));
// … reader.TotalItems == 412, reader.Pagination.TotalPages == 17
In your own application, inject a custom executor factory:
var connection = new ElephantConnection(connectionString, _ => myFakeExecutor);
Testing DQL
ElephantDql.Translate needs no connection, so DQL tests assert the SQL directly. Fix
the clock with DqlOptions.UtcNow so time windows are stable:
[Fact]
public void Relative_from_uses_the_timestamp_field()
{
var options = new DqlOptions { UtcNow = () => new DateTime(2026, 10, 18, 12, 0, 0, DateTimeKind.Utc) };
var t = ElephantDql.Translate("fetch logs, from: -2h", options);
Assert.Equal("SELECT * FROM logs WHERE timestamp >= @__dql0", t.Sql);
Assert.Equal(new DateTime(2026, 10, 18, 10, 0, 0, DateTimeKind.Utc), t.Parameters[0].Value);
}
Through a command, a fake executor records the bound SQL, as for any other statement.
DqlTranslatorTests in the test project covers both.
19. Verification
Against a real table, in this order. Each depends on the one before.
DoesTableExist— exercises connection, command, binder and reader in a single call, and is the only schema operation the documentation confirms.Guidround trip — insert and read back a primary key.DateTimeOffsetround trip — confirm UTC normalisation survives.- Value fidelity through the parser — parameters are rendered into SQL by the
binder, then extracted back out by
ElephantSqlParserintoInsertValuesRows. Whether a value containing an apostrophe or a comma survives that round trip intact is the open question. Test a string with an apostrophe and aGuid. - Multi-row insert — confirm every row lands.
- Paging — a result set larger than
MaxRecords.
Steps 2 and 4 are the ones most likely to surface a problem.
For EF Core, after the steps above:
- Aliased SELECT — EF Core emits
SELECT o.id, o.name FROM offerings AS o. Confirm table aliases and alias-qualified columns are accepted. - Column order — EF Core reads by ordinal, so the reader must return columns in
SELECTorder. Query two columns in reverse order and check the values. Add/SaveChanges/Find— round trip one entity with aGuidkey.Skip/Take,Count,Contains—LIMIT/OFFSET,COUNT(*),LIKE.Include(),Any(),GroupBy()—JOIN,EXISTS,GROUP BY. Use these in application code only once they pass.QuoteIdentifiers()— if quoted identifiers pass, turn the option on in both EF Core and the OrmLite dialect.
For DQL (section 22), after steps 1–6:
fetch t | limit 1through a DQL command — confirms routing and translation.filter name == "O'Brien"— confirms a quote in a DQL string survives.fetch t, from: -1dagainst a table with atimestamp(orDqlTimestampField) column — confirms text comparison of the stored UTC format.contains/startsWithwith_in the value — confirmsLIKE … ESCAPE '\'.summarize count(), by:{x} | filter count() > 1 | sort count() desc— needsGROUP BYandHAVING, the same dependency as step 11.
20. Migrating from PostgreSQL
One line changes:
// Before
new OrmLiteConnectionFactory(connectionString, PostgreSqlDialect.Provider);
// After
new OrmLiteConnectionFactory(connectionString, ElephantOrmLiteDialectProvider.Instance);
What else needs attention:
| Concern | Action |
|---|---|
[Schema] attributes |
Ignored. Leave them or remove them. |
search_path pinning |
No equivalent. The table is the schema. |
| Unique indexes | Not enforced. Add application-level checks. |
| Foreign keys | Not enforced. |
| Transactions | Removed. Reorder writes or compensate. |
SchemaBootstrapper / DDL migrations |
Move to a Data Migration import. |
| Npgsql-specific code | NpgsqlConnectionStringBuilder, set_config, DISCARD ALL behaviour, trigger-based audit SQL all need replacing. |
[AutoIncrement] keys |
Switch to Guid. |
DateTimeOffset columns |
Offset is no longer preserved. |
The schema itself can be imported through the management portal's Data Migration option, which reads an existing PostgreSQL or SQLite database directly.
21. Troubleshooting
InvalidOperationException: ConnectionStrings:… is not set — the environment
variable did not bind. Check the key name and, in Kubernetes, that the secret exists
in the right namespace.
ElephantException with TokenInvalid — the bearer token expired. Open
validates credentials, so this surfaces at connection time.
ElephantException with CredentialsNotFound or NoTenantDatabaseFound — the
account or the table does not exist. Provision it, or set AutoRegisterUser /
AutoCreateLedger for a development environment. See
section 4.
An empty table appeared — AutoCreateLedger was on and Database held a typo.
Turn it off outside development.
NotSupportedException on db.Save() — OrmLite's upsert path reached for a
transaction. Use explicit InsertAsync/UpdateAsync, or set
AllowNonTransactional=true knowing it buys no atomicity.
InvalidCastException on a column that is sometimes null — the column was
entirely null on the first page, so it typed as object. Check IsDBNull first, or
order the query so a non-null value appears early.
A SELECT returns fewer rows than expected — MaxRecords bounds each page and
the reader pages forward. If you are reading through something that does not walk
the reader to the end, you see one page. Check reader.Pagination.TotalItems
against what you received.
A paged query is making far more calls than expected — PageNumber was not set,
so the reader walked every page. Set it, or use QueryPageAsync.
GetPagination() returns null — the command or reader did not come from this
provider. That happens behind an abstraction that wraps or proxies the ADO.NET
types.
Duplicate rows where a unique index exists — the index is not a constraint. See section 14.
A row written after ChangeDatabase cannot be read back — the read is running
against a different database from the write. Check connection.Database and any
command.DatabaseName on the reading command, and check that the connection was not
re-created (a new connection starts on the Database keyword). See
Choosing the database.
Values read back wrapped in quotes, NULL as text, or '' in place of ' — the
rows were written through the client's InsertSQLRecordsAsync (directly, or by an
older build of this provider), which stores SQL literals verbatim. Rows written by
this provider are decoded; earlier rows need repairing.
DbUpdateException after some rows were saved — EF Core SaveChanges is not
atomic on this provider; statements before the failing one stay applied. See
SaveChanges semantics.
NotSupportedException naming a column on SaveChanges — the model expects a
store-generated value (identity, default or computed). Use a Guid key, or
ValueGeneratedNever() and assign the value.
NotSupportedException on Migrate() or EnsureDeleted() — EF Core migrations
and database drops are not supported. Use EnsureCreated(); tables appear on first
write.
EF Core and OrmLite see different data — they are writing to different tables.
EF Core names tables after the DbSet property, OrmLite after the class. Set
[Table("...")] on the entity.
NotSupportedException: A DQL query must start with fetch from OrmLite or EF Core —
QueryLanguage=Dql is set on a connection they share, so their generated SQL is being
read as DQL. Remove the keyword and set command.QueryLanguage per command instead.
NotSupportedException naming a DQL command or function — the provider does not
translate it (section 22, What does not translate). Rewrite with the supported
commands, or run SQL for that query.
DqlSyntaxException — the DQL is malformed. Position is the character offset;
check quotes, commas between arguments, and | between commands.
InvalidOperationException: The DQL query uses $x — add a parameter named x to
the command (or to the helper's parameters).
A DQL time window returns nothing — from:, to: and timeframe: filter the
timestamp column. Set DqlTimestampField to the column the table actually uses.
'ElephantCommand' does not contain a definition for 'QueryLanguage' — the
project references a build of ElephantSqlDb.Data from before DQL support. Reference
the project, or update the package.
Three upstream client issues this package works around
Worth raising with whoever owns ElephantSqlDBClient.Core, since the workarounds
should not be permanent:
InsertSQLRecordsAsyncreads onlyInsertValuesRows[0]and discards the rest — a multi-rowINSERTwrites one row. The provider bypasses it and callsSaveToDatabaseWithNoResponseonce per row.InsertSQLRecordsAsyncreturnsAuthStatus.Successunconditionally; the save result is never inspected and every exception is folded intoSQLStatementInvalid. The provider inspects the boolean directly.InsertSQLRecordsAsyncstores SQL literals verbatim —'abc'keeps its quotes,NULLis stored as the textNULL, and''is not collapsed to'. The provider decodes each token (DecodeLiteral, the inverse ofElephantParameter.FormatLiteral) before saving. Code callingInsertSQLRecordsAsyncdirectly is affected.
NewRecord in ElephantSqlDbExecutor also duplicates the client's private
AddCommonInterfaceProperties. If a key is added there and missed here, the server
accepts a record that is quietly incomplete — worth making that method internally
visible, or pinning it with a test.
22. Dynatrace Query Language (DQL)
ElephantCommand can take its CommandText in the Dynatrace Query Language instead
of SQL. The provider translates the DQL into one SQL SELECT, then binds, executes
and pages it exactly as it does any SQL command. ElephantSqlDBClient.Core only ever
receives SQL; it never sees DQL.
DQL is read-only. ExecuteReader and ExecuteScalar accept it; ExecuteNonQuery
throws NotSupportedException.
How a DQL request flows
ElephantCommandseesQueryLanguage = Dql(its own setting, else the connection'sQueryLanguagekeyword).ElephantDql.Translateparses the DQL and builds oneSELECT. Every literal in the query becomes a generated parameter (@__dql0,@__dql1, …); every$namebecomes an@namemarker.ElephantParameterBinderrenders the generated parameters and the caller's parameters into the SQL text — the same binder, and the same escaping, as every other API (section 15).ElephantSqlDbExecutor.QueryAsyncsends the SQL toSelectSQLRecordsAsync<string>, and the reader pages it as usual.
command.TranslatedCommandText holds the SQL from step 2, with markers in place of
values. Log it when a DQL query returns something unexpected.
Choosing the language
| Level | How | Scope |
|---|---|---|
| Command | command.QueryLanguage = ElephantQueryLanguage.Dql |
That command only |
| Connection | QueryLanguage=Dql in the connection string |
Every command that does not set its own |
ElephantQueryLanguage has two values: Sql (the default) and Dql.
command.QueryLanguage is nullable; null falls back to the connection. An
unrecognised keyword value (QueryLanguage=Kql) throws InvalidOperationException
on Open.
Leave QueryLanguage=Sql on any connection shared with OrmLite or EF Core. Both
generate SQL through CreateCommand, and a connection-wide Dql makes every one of
those commands parse as DQL. Set the language per command, or give DQL consumers
their own connection string:
{
"ConnectionStrings": {
"Portal": "BaseUri=https://api.elephantsqldb.example/;Token=;UserEmail=;Database=portal_table",
"PortalDql": "BaseUri=https://api.elephantsqldb.example/;Token=;UserEmail=;Database=portal_table;QueryLanguage=Dql;DqlTimestampField=created_at"
}
}
A first request
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
await using var command = connection.CreateCommand();
command.QueryLanguage = ElephantQueryLanguage.Dql;
command.CommandText = """
fetch offerings
| filter status == "Open" and target_amount >= 1000000
| fields id, name, close_at
| sort close_at desc
| limit 25
""";
await using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
var id = reader.GetGuid(0);
var name = reader.GetString(1);
var closeAt = reader.IsDBNull(2) ? (DateTime?)null : reader.GetDateTime(2);
}
Sent to ElephantSqlDB:
SELECT id, name, close_at FROM offerings
WHERE status = 'Open' AND target_amount >= 1000000
ORDER BY close_at DESC LIMIT 25
A scalar works the same way:
command.CommandText = "fetch offerings | summarize count()";
var total = Convert.ToInt64(await command.ExecuteScalarAsync());
Commands
| DQL | SQL |
|---|---|
fetch t |
SELECT * FROM t |
fetch t, from: -2h · to: · timeframe: "start/end" |
WHERE timestamp >= … AND timestamp < … |
filter cond (before summarize) |
WHERE cond |
filter cond (after summarize) |
HAVING cond |
filterOut cond |
WHERE NOT (cond) |
fields a, b = expr · fieldsKeep |
select list |
fieldsAdd x = expr |
SELECT *, expr AS x |
fieldsRemove a · fieldsRename new = old |
edit the select list; need an earlier fields |
sort a desc, b |
ORDER BY a DESC, b ASC |
limit n |
LIMIT n |
summarize agg, …, by:{k, k2 = expr} |
GROUP BY |
Several filter stages are joined with AND. A later sort replaces an earlier one;
two limits keep the smaller. // and /* */ comments are allowed, strings use
double quotes, and dotted or backticked names (log.level, `my field`) are
sent double-quoted.
Filtering
| DQL | SQL |
|---|---|
filter status == "Open" and tier > 2 |
WHERE status = 'Open' AND tier > 2 |
filter (status == "Open" or status == "Draft") and target_amount > 0 |
WHERE (status = 'Open' OR status = 'Draft') AND target_amount > 0 |
filterOut status == "Closed" |
WHERE NOT (status = 'Closed') |
filter close_at == null |
WHERE close_at IS NULL |
filter isNotNull(name) |
WHERE name IS NOT NULL |
filter in(status, {"Open", "Draft"}) |
WHERE status IN ('Open', 'Draft') |
filter contains(name, "Series") |
WHERE name LIKE '%Series%' |
filter contains(name, "series", caseSensitive: false) |
WHERE LOWER(name) LIKE '%series%' |
filter startsWith(slug, "seed_") |
WHERE slug LIKE 'seed\_%' ESCAPE '\' |
filter matchesValue(host, "WEB-*") |
WHERE LOWER(host) LIKE 'web-%' |
filter matchesPhrase(content, "timeout") |
WHERE LOWER(content) LIKE '%timeout%' |
Operators: == != < <= > >= and or xor not + - * / %.
Other functions, usable in filters and fields: isNull, isTrue, isFalse, lower,
upper, stringLength (LENGTH), concat (||), abs, ceil, floor,
round(x, decimals: n), coalesce.
Time windows
Time expressions are evaluated in .NET and sent as one UTC timestamp parameter each.
With now() = 2026-10-18 12:00 UTC:
| DQL | SQL |
|---|---|
fetch logs, from: -2h |
WHERE timestamp >= '2026-10-18 10:00:00.0000000' |
fetch logs, from: now() - 1d, to: now() |
WHERE timestamp >= '2026-10-17 12:00:00.0000000' AND timestamp < '2026-10-18 12:00:00.0000000' |
fetch logs, timeframe: "2026-10-01T00:00:00-05:00/2026-10-02T00:00:00Z" |
WHERE timestamp >= '2026-10-01 05:00:00.0000000' AND timestamp < '2026-10-02 00:00:00.0000000' |
filter close_at > now() - 30m |
WHERE close_at > '2026-10-18 11:30:00.0000000' |
filter created_at >= toTimestamp("2026-10-01T00:00:00Z") |
WHERE created_at >= '2026-10-01 00:00:00.0000000' |
Duration units: ns, us, ms, s, m, h, d, w. now() is read once per
query, so every now() in one query is the same instant.
from:, to: and timeframe: filter the timestamp column. Set
DqlTimestampField in the connection string when a table uses another name, such as
created_at.
Timestamps are compared as text. That works because the provider stores DateTime
and DateTimeOffset as fixed-width UTC yyyy-MM-dd HH:mm:ss.fffffff (section 12),
which sorts the same lexically as chronologically. A duration on its own
(filter amount > 5m) throws: durations only offset timestamps.
Fields
| DQL | SQL |
|---|---|
fields id, name, close_at |
SELECT id, name, close_at |
fields id, title = name, doubled = target_amount * 2 |
SELECT id, name AS title, (target_amount * 2) AS doubled |
fieldsAdd name_upper = upper(name) |
SELECT *, UPPER(name) AS name_upper |
fields id, name, status \| fieldsRemove status |
SELECT id, name |
fields id, name \| fieldsRename title = name |
SELECT id, name AS title |
A computed field can be used by later stages; its expression is substituted:
fetch offerings | fieldsAdd k = target_amount / 1000 | filter k > 5
SELECT *, (target_amount / 1000) AS k FROM offerings WHERE (target_amount / 1000) > 5
Computed fields must be named (fieldsAdd x = expr). fieldsRemove and
fieldsRename need an earlier fields, because the column list is not known after a
bare fetch.
Aggregating with summarize
fetch offerings
| filter target_amount > 0
| summarize c = count(), total = sum(target_amount), by:{status}
| filter c > 2
| sort c desc
| limit 5
SELECT status, COUNT(*) AS c, SUM(target_amount) AS total FROM offerings
WHERE target_amount > 0 GROUP BY status
HAVING COUNT(*) > 2 ORDER BY c DESC LIMIT 5
| Aggregation | SQL | Name when not aliased |
|---|---|---|
count() |
COUNT(*) |
count |
countIf(status == "Open") |
SUM(CASE WHEN status = 'Open' THEN 1 ELSE 0 END) |
countIf |
countDistinct(investor) |
COUNT(DISTINCT investor) |
countDistinct_investor |
sum(amount) · avg · min · max |
SUM(amount) · AVG · MIN · MAX |
sum_amount · avg_amount · … |
An unaliased aggregation can still be referred to in its DQL form:
summarize count(), by:{status} | sort count() desc sorts on count. Group keys may be
computed when named: by:{s = lower(status)}. fields after summarize can select or
rename its outputs. GROUP BY and HAVING support on the engine is checked by
Verification step 17.
Paging and the helpers
Paging, TotalItems and PageNumber behave exactly as for SQL (section 8). Three
helpers set the language for you:
// One page plus the total match count
var page = await connection.QueryDqlPageAsync(
"fetch offerings | filter status == $status | sort name",
r => new { Id = r.GetGuid(r.GetOrdinal("id")), Name = r.GetString(r.GetOrdinal("name")) },
pageNumber: 2,
parameters: [new ElephantParameter("status", "Open")]);
page.Rows; // this page
page.TotalItems; // every match
page.HasMore;
// Count without materialising rows
var open = await connection.CountDqlAsync("fetch offerings | filter status == \"Open\"");
// Stream every page
await foreach (var name in connection.QueryDqlAsync(
"fetch offerings | fields name | limit 500", r => r.GetString(0), cancellationToken: ct))
{
// …
}
Put limit last. A filter, sort, summarize or fieldsAdd after it would need a
subquery, so it throws.
Parameters
$name refers to a command parameter called name:
command.QueryLanguage = ElephantQueryLanguage.Dql;
command.CommandText = "fetch offerings | filter status == $status and target_amount >= $min";
command.Parameters.Add(new ElephantParameter("status", "Open"));
command.Parameters.Add(new ElephantParameter("min", 1_000_000m));
A $name with no matching parameter throws InvalidOperationException before
anything is sent.
Literals written into the DQL are just as safe: each becomes a generated parameter,
so filter name == "O'Brien" is sent as WHERE name = 'O''Brien'. Identifiers are
never parameters, so they are validated instead — a plain name passes through
unquoted, and anything else is double-quoted with embedded quotes doubled. As with
SQL, never concatenate user input into the query text; use $name for values.
Seeing the SQL, and using Dapper or OrmLite
ElephantDql.Translate returns the SQL without running it:
using ElephantSqlDb.Data.Dql;
DqlTranslation t = ElephantDql.Translate(
"fetch offerings | filter status == \"Open\" | summarize count(), by:{tier}");
// t.Sql: SELECT tier, COUNT(*) AS count FROM offerings WHERE status = @__dql0 GROUP BY tier
// t.Parameters: [ @__dql0 = "Open" ]
// t.ReferencedParameters: names of any $parameters the query used
Dapper decides which parameters to send by looking for @name markers, and a DQL
$name has none — so translate first and pass the result:
var t = ElephantDql.Translate("fetch offerings | filter status == \"Open\" | limit 50");
var args = new DynamicParameters();
foreach (var p in t.Parameters) args.Add(p.ParameterName, p.Value);
var open = await connection.QueryAsync<Offering>(t.Sql, args);
OrmLite takes the same SQL:
var rows = await db.SelectAsync<Offering>(
t.Sql, t.Parameters.ToDictionary(p => p.ParameterName, p => p.Value));
DqlOptions controls a direct translation: TimestampField, a UtcNow clock (fix it
in tests), and the generated ParameterPrefix.
What does not translate
These throw NotSupportedException naming what is missing, rather than returning
rows that differ from what the DQL asked for:
- Other commands —
lookup,join,timeseries,makeTimeseries,parse,dedup,expand,append,dataand the rest. - A query that does not start with
fetch. - Stage orders that need a subquery — anything but
limitor a field selection afterlimit; a secondsummarize;fieldsAddaftersummarize. - Unknown functions, and aggregations outside
summarize.
Malformed DQL throws DqlSyntaxException (a FormatException) whose Position is
the character offset of the problem.
try
{
await using var reader = await command.ExecuteReaderAsync(ct);
// …
}
catch (DqlSyntaxException ex)
{
logger.LogWarning("Bad DQL at {Position}: {Message}", ex.Position, ex.Message);
}
catch (NotSupportedException ex)
{
logger.LogWarning("DQL not supported: {Message}", ex.Message);
}
Semantics that differ from Grail
filterOutbecomesNOT (cond), which drops rows wherecondis null. DQL keeps them.matchesPhrasematches any substring, not whole tokens.contains,startsWithandendsWithare case-sensitive unlesscaseSensitive: falseis passed.- There is no implicit record limit and no default
timestampsort; results are what the query asks for.
Files
| File | Role |
|---|---|
Dql/DqlLexer.cs |
Tokens, comments, durations; DqlSyntaxException |
Dql/DqlParser.cs |
AST and recursive-descent parser |
Dql/DqlToSqlTranslator.cs |
ElephantDql, DqlOptions, DqlTranslation and the translator |
ElephantQueryLanguage.cs |
Sql / Dql |
23. Logging with Serilog and log4net
The package can write application logs into an ElephantSqlDB table. The
ElephantSqlDb.Data.Logging namespaces add a Serilog sink, a log4net appender
and a Microsoft.Extensions.Logging provider. All three run on the ADO.NET types
in this guide: every log row is an INSERT issued through ElephantConnection
and ElephantCommand, with values bound by ElephantParameterBinder. Reading
the logs back is ordinary ADO.NET or DQL.
Serilog ──────────┐
log4net ──────────┼──▶ ElephantLogWriter ──▶ ElephantConnection / ElephantCommand
MEL ILogger ──────┘ (batches, lanes, (INSERT INTO logs ...)
retry) │
▼
ElephantSqlDB table
Packages
The logging support ships in ElephantSqlDb.Data. It brings three dependencies:
| Package | Version | Used by |
|---|---|---|
Serilog |
4.2.0 | ElephantSqlDbSink |
log4net |
3.5.0 | ElephantSqlDbAppender |
Microsoft.Extensions.Logging |
10.0.0 | ElephantSqlDbLoggerProvider |
Use log4net 3.3.0 or later. Earlier 3.x releases are flagged with a moderate-severity vulnerability (CVE-2026-40021).
The log table
The engine creates the table on the first write, so there is no DDL. The
default name is logs. Column names follow Dynatrace's log fields, so DQL over
the table reads the way Dynatrace users expect (section 22).
| Column | Type on the wire | Contents |
|---|---|---|
log_id |
string | 32 hex characters, unique per event |
timestamp |
yyyy-MM-dd HH:mm:ss.fffffff UTC |
When the event was logged |
loglevel |
string | Level name from the framework (Information, WARN, ...) |
logger |
string | Serilog SourceContext, log4net logger name or MEL category |
content |
string | Rendered message |
message_template |
string | Unrendered template (Serilog and MEL) |
exception |
string | Exception.ToString() |
attributes |
JSON string | Structured properties, scopes and context |
trace_id, span_id |
string | W3C ids from Activity.Current |
service_name, host_name |
string | Set once per writer |
timestamp is stored in the same fixed-width UTC format as every other
DateTime (section 12), so DQL time windows work on it with no extra setting.
How log writes behave
The engine writes each INSERT row as its own HTTP call and has no rollback
(sections 13 and 16). The writer is built around both facts:
- Off the application thread. Serilog's batching queue, or the bounded
ElephantLogQueueused by log4net and MEL, holds events; a background task writes them. A log call never waits on the network. - Single-row inserts in parallel. A multi-row
INSERTis no faster here and can fail partway. Rows go out as single-row statements acrossMaxConcurrencylanes (default 8), and each lane keeps one open connection, becauseOpenAsynccosts an authentication round trip. - Retries never duplicate. Each row succeeds or fails on its own, and only
failed rows are retried, with backoff, for up to
RetryTimeLimit(default 5 minutes). - No transactions. None are opened, so
AllowNonTransactionalis not needed. - Writes are SQL. A connection string with
QueryLanguage=Dqlstill works; the writer setsQueryLanguage = Sqlon its own commands. - Bounded memory. A full queue (default 100,000 events) drops new events and counts them rather than blocking.
- A hook for zero loss. Rows that still fail, or that remain at shutdown, go
to
OnWriteFailure.
Serilog
Register the sink with WriteTo.ElephantSqlDb. The extension lives in the
Serilog namespace, so no extra using is needed.
using ElephantSqlDb.Data;
using Serilog;
var connectionString = builder.Configuration.GetConnectionString("Logs")
?? throw new InvalidOperationException("ConnectionStrings:Logs is not set.");
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.ElephantSqlDb(
connectionString,
tableName: "logs",
serviceName: "FlightOps.Api",
batchSizeLimit: 200,
period: TimeSpan.FromSeconds(2))
.CreateLogger();
try
{
Log.ForContext("SourceContext", "FlightOps.Gates")
.Information("Gate change for {Flight} to {Gate}", "UA1234", "C17");
Log.Warning("Crew check-in delayed {Minutes} min for {Flight}", 12, "UA1234");
}
catch (Exception ex)
{
Log.Error(ex, "Gate update failed");
}
finally
{
await Log.CloseAndFlushAsync(); // drains the queue before exit
}
The first call writes one row:
| Column | Value |
|---|---|
loglevel |
Information |
logger |
FlightOps.Gates |
content |
Gate change for "UA1234" to "C17" |
message_template |
Gate change for {Flight} to {Gate} |
attributes |
{"Flight":"UA1234","Gate":"C17","SourceContext":"FlightOps.Gates"} |
service_name |
FlightOps.Api |
In ASP.NET Core, configure it through the host:
builder.Host.UseSerilog((context, configuration) => configuration
.ReadFrom.Configuration(context.Configuration)
.WriteTo.ElephantSqlDb(
context.Configuration.GetConnectionString("Logs")!,
serviceName: "FlightOps.Api"));
For full control, pass writer options and Serilog batching options:
using ElephantSqlDb.Data.Logging;
using Serilog.Configuration;
var writerOptions = new ElephantLogWriterOptions
{
ConnectionString = connectionString,
TableName = "flight_logs",
DatabaseName = "observability", // overrides the Database keyword
ServiceName = "FlightOps.Api",
MaxConcurrency = 16,
RetryTimeLimit = TimeSpan.FromMinutes(10),
OnWriteFailure = (records, error) => LocalSpool.Append(records)
};
Log.Logger = new LoggerConfiguration()
.WriteTo.ElephantSqlDb(writerOptions, new BatchingOptions
{
BatchSizeLimit = 500,
BufferingTimeLimit = TimeSpan.FromSeconds(1),
QueueLimit = 200_000
})
.CreateLogger();
log4net
Use ElephantSqlDbAppender. Configure it in XML:
<log4net>
<appender name="ElephantSqlDb"
type="ElephantSqlDb.Data.Logging.Log4NetAppender.ElephantSqlDbAppender, ElephantSqlDb.Data">
<connectionString value="BaseUri=https://api.elephantsqldb.example/;Token=...;UserEmail=svc@example.com;Database=portal_table" />
<tableName value="logs" />
<serviceName value="FlightOps.Worker" />
<maxConcurrency value="8" />
<batchSize value="200" />
<flushIntervalMilliseconds value="2000" />
<queueCapacity value="100000" />
<retryTimeLimitSeconds value="300" />
<shutdownTimeoutSeconds value="15" />
</appender>
<root>
<level value="INFO" />
<appender-ref ref="ElephantSqlDb" />
</root>
</log4net>
Then log as usual:
using log4net;
using log4net.Config;
XmlConfigurator.Configure(new FileInfo("log4net.config"));
var log = LogManager.GetLogger("FlightOps.Baggage");
ThreadContext.Properties["RequestId"] = requestId; // stored in attributes
log.Info("Baggage feed connected");
log.Error("Baggage feed failed", new TimeoutException("feed timeout"));
LogManager.Shutdown(); // closes the appender, which drains its queue
Or configure it in code, which keeps the token out of the XML:
using ElephantSqlDb.Data.Logging.Log4NetAppender;
using log4net;
using log4net.Config;
var repository = LogManager.GetRepository(typeof(Program).Assembly);
var appender = new ElephantSqlDbAppender
{
ConnectionString = builder.Configuration.GetConnectionString("Logs")!,
TableName = "logs",
ServiceName = "FlightOps.Worker"
};
appender.ActivateOptions();
BasicConfigurator.Configure(repository, appender);
Use this appender rather than log4net's AdoNetAppender. AdoNetAppender
writes synchronously on the logging thread when its buffer fills. It also opens
a transaction by default, which this provider refuses unless
AllowNonTransactional=true (section 13). log4net loads the appender by its
type name, so ElephantSqlDb.Data.Logging.* must be excluded from renaming in
the obfuscated build.
Microsoft.Extensions.Logging
builder.Logging.AddElephantSqlDb(options =>
{
options.ConnectionString = builder.Configuration.GetConnectionString("Logs")!;
options.TableName = "logs";
options.ServiceName = "FlightOps.Api";
});
Filter levels with the provider alias:
{
"Logging": {
"ElephantSqlDb": { "LogLevel": { "Default": "Information" } }
}
}
Scope values (logger.BeginScope(...)), EventId and EventName are stored in
attributes.
Writing log rows directly with ADO.NET
ElephantLogWriter is the shared write path. Use it directly to load log files,
replay a spool, or write from a tool that has no logging framework:
using ElephantSqlDb.Data.Logging;
await using var writer = new ElephantLogWriter(new ElephantLogWriterOptions
{
ConnectionString = connectionString,
TableName = "logs",
ServiceName = "FlightOps.Importer"
});
var records = File.ReadLines("gate-events.log")
.Select(line => new ElephantLogRecord
{
LogLevel = "Information",
Logger = "GateImport",
Content = line
})
.ToList();
var result = await writer.WriteAsync(records);
if (!result.Succeeded)
Console.WriteLine($"{result.Unwritten.Count} rows not written: {result.LastError?.Message}");
WriteAsync does not throw for database failures. Written counts the rows that
landed; Unwritten holds the rows that did not, and none of those reached the
table.
Each row the writer sends is the same statement you would write by hand:
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
await using var command = connection.CreateCommand();
command.CommandText =
"INSERT INTO logs (log_id, timestamp, loglevel, logger, content, service_name, host_name) " +
"VALUES (@log_id, @timestamp, @loglevel, @logger, @content, @service_name, @host_name)";
command.Parameters.Add(new ElephantParameter("log_id", Guid.NewGuid().ToString("N")));
command.Parameters.Add(new ElephantParameter("timestamp", DateTime.UtcNow));
command.Parameters.Add(new ElephantParameter("loglevel", "Warning"));
command.Parameters.Add(new ElephantParameter("logger", "FlightOps.Gates"));
command.Parameters.Add(new ElephantParameter("content", "Gate C17 sensor offline"));
command.Parameters.Add(new ElephantParameter("service_name", "FlightOps.Api"));
command.Parameters.Add(new ElephantParameter("host_name", Environment.MachineName));
await command.ExecuteNonQueryAsync();
Reading logs back with ADO.NET
Logs are rows, so every read in this guide applies. Bound queries with a time
window and LIMIT, and set PageNumber for one page (section 8).
await using var connection = new ElephantConnection(connectionString);
await connection.OpenAsync();
await using var command = connection.CreateCommand();
command.CommandText =
"SELECT timestamp, loglevel, logger, content, exception FROM logs " +
"WHERE service_name = @service AND loglevel IN ('Error', 'ERROR', 'Fatal', 'FATAL') " +
"AND timestamp >= @since ORDER BY timestamp DESC LIMIT 100";
command.Parameters.Add(new ElephantParameter("service", "FlightOps.Api"));
command.Parameters.Add(new ElephantParameter("since", DateTime.UtcNow.AddHours(-1)));
await using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
var at = reader.GetDateTime(0);
var level = reader.GetString(1);
var logger = reader.IsDBNull(2) ? null : reader.GetString(2);
var content = reader.GetString(3);
var exception = reader.IsDBNull(4) ? null : reader.GetString(4);
}
Counting errors costs one round trip, because TotalItems comes back with the
first page:
var errors = await connection.CountAsync(
"SELECT log_id FROM logs WHERE loglevel = @level AND service_name = @service",
[new ElephantParameter("level", "Error"), new ElephantParameter("service", "FlightOps.Api")]);
Querying logs with DQL
The column names match Dynatrace, so familiar DQL works against the table:
await using var command = connection.CreateCommand();
command.QueryLanguage = ElephantQueryLanguage.Dql;
command.CommandText = """
fetch logs, from: -2h
| filter loglevel == "Error" and service_name == $service
| fields timestamp, logger, content
| sort timestamp desc
| limit 50
""";
command.Parameters.Add(new ElephantParameter("service", "FlightOps.Api"));
await using var reader = await command.ExecuteReaderAsync();
Errors per service in the last day:
command.CommandText = """
fetch logs, from: -1d
| filter loglevel == "Error"
| summarize errors = count(), by:{service_name}
| sort errors desc
""";
from: -2h filters the timestamp column, which is the default
DqlTimestampField, so no connection setting is needed.
Dashboards and alerts on logs
The log table can be charted and alerted on directly from ElephantSqlDB dashboards, beside the application data on the same platform. There is no separate dashboard tool or alerting service to set up.
Dashboards. Any SQL or DQL query over the log table can back a dashboard panel. Useful starting panels:
fetch logs, from: -1h
| filter loglevel == "Error"
| summarize errors = count(), by:{service_name}
| sort errors desc
fetch logs, from: -1d
| summarize events = count(), by:{loglevel}
Alerts. Alerts are raised from user-defined events on a dashboard. An event is defined over a log query and fires when its result meets the condition you set, for example more than 25 errors for one service in the last 15 minutes:
fetch logs, from: -15m
| filter loglevel == "Error" and service_name == "FlightOps.Api"
| summarize errors = count()
Other events worth defining: any Fatal row, a specific exception type appearing
in the exception column, or a service that stops writing rows altogether, which
usually means the application or its logging is down.
Because each row carries trace_id, an alert on an error row leads straight to
the trace and to every other log row for the same request, all through
constant-time key lookups.
Writer options
| Option | Default | Notes |
|---|---|---|
ConnectionString |
— | Required. A normal ElephantConnection string |
TableName |
logs |
Letters, digits and _ only; the one value placed in the SQL text |
DatabaseName |
null | Overrides the Database keyword for log writes |
ServiceName |
null | Stored as service_name |
HostName |
machine name | Stored as host_name |
MaxConcurrency |
8 | Parallel lanes; one open connection each |
RetryTimeLimit |
5 minutes | Zero means one attempt |
RetryBaseDelay / MaxRetryDelay |
500 ms / 30 s | Exponential backoff with jitter |
MaxFieldLength |
32,000 | Truncates content, exception, attributes; 0 = no limit |
CommandTimeoutSeconds |
0 | 0 uses the connection's CommandTimeout |
OnWriteFailure |
Trace | Receives rows that were not written |
ElephantLogQueueOptions (log4net and MEL) adds BatchSize (200),
FlushInterval (2 s), Capacity (100,000) and ShutdownTimeout (15 s).
Serilog uses its own BatchingOptions.
Zero-loss logging
Hook OnWriteFailure to spool rows to local disk, then replay them with the
writer when the ledger is back:
var spool = Path.Combine(AppContext.BaseDirectory, "log-spool.jsonl");
var options = new ElephantLogWriterOptions
{
ConnectionString = connectionString,
ServiceName = "FlightOps.Api",
OnWriteFailure = (records, _) =>
{
lock (spoolLock)
File.AppendAllLines(spool, records.Select(r => JsonSerializer.Serialize(r)));
}
};
// Later, on startup or a timer:
if (File.Exists(spool))
{
var pending = File.ReadLines(spool)
.Select(line => JsonSerializer.Deserialize<ElephantLogRecord>(line)!)
.ToList();
await using var writer = new ElephantLogWriter(new ElephantLogWriterOptions
{
ConnectionString = connectionString,
ServiceName = "FlightOps.Api"
});
var result = await writer.WriteAsync(pending);
if (result.Succeeded) File.Delete(spool);
}
Each record keeps its log_id, so a replayed row can be checked against rows
already in the table.
Testing logging
The writer takes a connection factory, so it runs against a fake executor (section 18):
var fake = new FakeElephantExecutor();
var writer = new ElephantLogWriter(
new ElephantLogWriterOptions { ConnectionString = connectionString },
() => new ElephantConnection(connectionString, _ => fake));
await writer.WriteAsync([new ElephantLogRecord { Content = "O'Brien" }]);
Assert.Contains("'O''Brien'", fake.Statements[0]);
The test project's Logging/ folder covers the writer, the queue and all three
frameworks offline (Category=Unit), and checks that rows land exactly once
against a live ledger (Category=Live).
Files
| File | Role |
|---|---|
Logging/Core/ElephantLogRecord.cs |
One log entry in framework-neutral form |
Logging/Core/ElephantLogWriter.cs |
Parallel single-row writes, retry, connection reuse |
Logging/Core/ElephantLogWriterOptions.cs |
Writer options and the failure hook |
Logging/Core/ElephantLogQueue.cs |
Bounded queue and background pump |
Logging/Core/ElephantLogJson.cs |
Properties to JSON |
Logging/Serilog/ |
ElephantSqlDbSink, WriteTo.ElephantSqlDb |
Logging/Log4Net/ |
ElephantSqlDbAppender |
Logging/MicrosoftExtensions/ |
ElephantSqlDbLoggerProvider, AddElephantSqlDb |
Troubleshooting logging
No rows appear — the queue flushes every FlushInterval or period, and on
shutdown. Call Log.CloseAndFlushAsync() or LogManager.Shutdown() before
exit. Check System.Diagnostics.Trace (or Serilog SelfLog) for write failures.
NotSupportedException from log4net's AdoNetAppender — it opened a
transaction. Use ElephantSqlDbAppender.
log4net cannot load the appender type — the obfuscated build renamed
ElephantSqlDb.Data.Logging.*. Exclude those types from renaming.
Events dropped — the queue filled while the ledger was unreachable. Raise
Capacity or QueueLimit, or hook OnWriteFailure.
ArgumentException on the table name — TableName must be a plain
identifier (letters, digits, _, not starting with a digit).
24. Telemetry with OpenTelemetry
The package includes OpenTelemetry exporters that write traces and metrics
to ElephantSqlDB tables through the same ADO.NET provider. Together with logging
(section 23), an application's three telemetry signals land on one platform,
joined by trace_id, and can be charted in ElephantSqlDB dashboards or queried
with SQL and DQL.
OpenTelemetry SDK ElephantSqlDB platform
───────────────── ──────────────────────
Traces ─▶ ElephantSqlDbTraceExporter ─┐
Metrics ─▶ ElephantSqlDbMetricExporter ─┼─▶ ElephantConnection ─▶ spans · metrics
Logs ─▶ Serilog / log4net / MEL ─┘ (INSERT per row) logs
Why OpenTelemetry
OpenTelemetry is the .NET standard for telemetry. Exporting from it, rather than adding a new API, means:
- One line to adopt.
AddElephantSqlDbExporter(...)goes next to the instrumentation the application already registers. - Automatic instrumentation. The standard instrumentation packages produce
spans and metrics for incoming HTTP requests,
HttpClientcalls, database calls and the .NET runtime with no code in the application. - No lock-in. The same application can export to ElephantSqlDB and to any other OpenTelemetry backend at the same time.
Agentless by design
Many observability platforms collect telemetry through an agent: a sidecar in every pod, a node-level agent in every cluster, or a process injected into the application. ElephantSqlDB does not need one. The exporters run inside the application, in the OpenTelemetry SDK it already uses, and write straight to the platform. That means:
- Nothing extra to deploy. No sidecar, DaemonSet or container to size, secure, patch and monitor, and nothing competing for container resources that are already allocated.
- Less operational debt. One package reference and one line of configuration, versioned and deployed with the application itself.
- No agent lock-in. Instrumentation is standard OpenTelemetry; the same application can export to ElephantSqlDB and any other OpenTelemetry backend.
- The advantage is in the platform. Collection stays light because the work that matters, storage and retrieval, is where ElephantSqlDB is strong: constant-time lookup of any trace, span or log row by key, however much telemetry is kept.
What it costs, so it can be planned for:
- In-process is light, not free. The exporters use some application memory for
buffered spans and metrics, background threads, and up to
MaxConcurrencyopen connections. The SDK's queue limits (MaxQueueSize) bound the memory. - Instrumentation is per application. An agent can instrument a process with no code changes; here each application adds the exporter to its configuration. Coverage today is .NET.
- A central collector is optional, not required. Organisations that route telemetry through an OpenTelemetry Collector for central buffering, filtering or routing can keep doing so; this package does not need one.
Packages
The exporters ship in ElephantSqlDb.Data, which now depends on OpenTelemetry
1.17.0 (and Microsoft.Extensions.Logging 10.0.0, which that version requires).
The application adds the hosting and instrumentation packages it wants:
| Package | Provides |
|---|---|
OpenTelemetry.Extensions.Hosting |
services.AddOpenTelemetry() |
OpenTelemetry.Instrumentation.AspNetCore |
Spans and metrics for incoming requests |
OpenTelemetry.Instrumentation.Http |
Spans and metrics for HttpClient calls |
OpenTelemetry.Instrumentation.Runtime |
GC, thread pool and memory metrics |
Setup in ASP.NET Core
using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;
var telemetry = builder.Configuration.GetConnectionString("Telemetry")
?? throw new InvalidOperationException("ConnectionStrings:Telemetry is not set.");
builder.Services.AddOpenTelemetry()
.ConfigureResource(r => r.AddService("FlightOps.Api"))
.WithTracing(tracing => tracing
.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation()
.AddSource("FlightOps.*") // your own ActivitySources
.AddElephantSqlDbExporter(telemetry))
.WithMetrics(metrics => metrics
.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation()
.AddRuntimeInstrumentation()
.AddMeter("FlightOps.*") // your own Meters
.AddElephantSqlDbExporter(telemetry));
"Telemetry" is an ElephantSqlDB connection string in appsettings.json, the
same format as every other connection string in this guide (section 4). The
service.name from ConfigureResource is stored as service_name on every row.
Setup without hosting
A console app, worker or test creates the providers directly and disposes them on exit, which flushes anything buffered:
using var tracerProvider = Sdk.CreateTracerProviderBuilder()
.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("FlightOps.Importer"))
.AddSource("FlightOps.Importer")
.AddElephantSqlDbExporter(telemetry)
.Build();
using var meterProvider = Sdk.CreateMeterProviderBuilder()
.AddMeter("FlightOps.Importer")
.AddElephantSqlDbExporter(telemetry)
.Build();
Instrumenting your own code
Spans come from ActivitySource, metrics from Meter. Both are part of .NET:
using System.Diagnostics;
using System.Diagnostics.Metrics;
public sealed class GateService(ILogger<GateService> logger)
{
private static readonly ActivitySource Source = new("FlightOps.Gates");
private static readonly Meter Meter = new("FlightOps.Gates");
private static readonly Counter<long> GateChanges = Meter.CreateCounter<long>("gate.changes");
private static readonly Histogram<double> LookupMs = Meter.CreateHistogram<double>("gate.lookup.ms", unit: "ms");
public async Task MoveAsync(string flight, string gate)
{
using var activity = Source.StartActivity("move gate");
activity?.SetTag("flight", flight);
activity?.SetTag("gate", gate);
var started = Stopwatch.GetTimestamp();
try
{
await UpdateGateAsync(flight, gate);
GateChanges.Add(1, new KeyValuePair<string, object?>("terminal", gate[..1]));
logger.LogInformation("Gate change for {Flight} to {Gate}", flight, gate);
}
catch (Exception ex)
{
activity?.SetStatus(ActivityStatusCode.Error, ex.Message);
logger.LogError(ex, "Gate change failed for {Flight}", flight);
throw;
}
finally
{
LookupMs.Record(Stopwatch.GetElapsedTime(started).TotalMilliseconds);
}
}
}
The span, the metric points and the log rows from this call all carry the same
trace_id where a trace is active.
The spans table
One row per span. timestamp is the span's start, so DQL time windows work on it
with no extra setting.
| Column | Contents |
|---|---|
span_id, trace_id, parent_span_id |
W3C ids; parent_span_id is null for a root span |
name, kind, source |
Display name, Server/Client/Internal/..., ActivitySource name |
timestamp, end_time |
Start and end, UTC, in the section 12 format |
duration_ms |
Duration in milliseconds |
status, status_description |
Unset, Ok or Error, and the error text |
attributes |
Span tags as JSON |
events, links |
JSON arrays; exceptions recorded on a span appear as events |
service_name, host_name |
From the resource (or ServiceName) and the machine |
The metrics table
The SDK aggregates measurements in memory and exports once per interval (60
seconds by default), one row per series: a metric name plus one combination
of attribute values. Ten thousand Add calls on one counter with one attribute
set become one row per minute.
| Column | Contents |
|---|---|
metric_id |
Unique per row |
timestamp, start_time |
End and start of the interval, UTC |
name, description, unit, meter |
From the instrument |
type |
LongSum, DoubleSum, LongGauge, DoubleGauge, Histogram, ... |
temporality |
Cumulative (running total, the default) or Delta (change in the interval) |
value |
Counters, up-down counters and gauges |
count, sum, min, max |
Histograms |
buckets |
Histogram buckets as JSON: [{"le":5.0,"count":1}, ..., {"le":"+Inf","count":0}] |
attributes |
The series' attributes as JSON |
service_name, host_name |
As for spans |
Set MetricTemporality = MetricReaderTemporalityPreference.Delta when the rows
will be charted directly: each row is then the change in its interval, so a chart
is a plain SUM by time rather than a difference between running totals.
How exports behave
Exports run on the OpenTelemetry SDK's own background threads, never on the
application's. Spans are buffered by the SDK's batch processor (2,048 by default,
exported every 5 seconds in batches of up to 512); metrics are collected once per
interval. Each export uses the same write strategy as logging (section 23):
single-row INSERTs across MaxConcurrency parallel lanes, each with one open
connection; only failed rows are retried, so a retry never duplicates a row; no
transactions are opened.
If the ledger is unreachable, an export retries for up to RetryTimeLimit (30
seconds by default, since it holds the SDK's export thread), then reports the
unwritten rows to OnWriteFailure and returns Failure to the SDK. The
application is never affected.
Volume: metrics are aggregated, so their row count depends on the number of series, not the request rate. Spans are one row each; for busy services, sample them:
.WithTracing(t => t
.SetSampler(new ParentBasedSampler(new TraceIdRatioBasedSampler(0.10))) // keep 10% of traces
.AddAspNetCoreInstrumentation()
.AddElephantSqlDbExporter(telemetry))
Options
AddElephantSqlDbExporter(connectionString, serviceName) covers most cases. For
everything else, pass a configure action:
.AddElephantSqlDbExporter(o =>
{
o.ConnectionString = telemetry;
o.DatabaseName = "observability";
o.SpansTable = "flight_spans";
o.ScheduledDelayMilliseconds = 2000;
o.OnWriteFailure = (table, count, error) =>
Console.Error.WriteLine($"{count} rows not written to {table}: {error?.Message}");
})
| Option | Default | Notes |
|---|---|---|
ConnectionString |
— | Required |
DatabaseName |
null | Overrides the Database keyword |
SpansTable / MetricsTable |
spans / metrics |
Letters, digits and _ only |
ServiceName |
resource service.name |
Stored as service_name |
HostName |
machine name | Stored as host_name |
MaxConcurrency |
8 | Parallel write lanes |
RetryTimeLimit |
30 s | Per export |
MaxFieldLength |
32,000 | Truncates long text and JSON fields |
MaxQueueSize |
2,048 | Spans buffered before new ones are dropped |
ScheduledDelayMilliseconds |
5,000 | Span export interval |
MaxExportBatchSize |
512 | Spans per export |
MetricExportIntervalMilliseconds |
60,000 | Metric export interval |
MetricTemporality |
Cumulative |
Or Delta |
OnWriteFailure |
Trace | (table, count, error) for rows not written |
Querying telemetry with ADO.NET
The slowest requests in the last hour:
await using var command = connection.CreateCommand();
command.CommandText =
"SELECT trace_id, name, duration_ms, status FROM spans " +
"WHERE service_name = @service AND kind = 'Server' AND timestamp >= @since " +
"ORDER BY duration_ms DESC LIMIT 20";
command.Parameters.Add(new ElephantParameter("service", "FlightOps.Api"));
command.Parameters.Add(new ElephantParameter("since", DateTime.UtcNow.AddHours(-1)));
await using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
var traceId = reader.GetString(0);
var name = reader.GetString(1);
var durationMs = reader.GetDouble(2);
}
Everything recorded for one request — its spans and its log rows — by trace_id:
async Task<List<string>> ByTraceAsync(string table, string columns, string traceId)
{
await using var command = connection.CreateCommand();
command.CommandText = $"SELECT {columns} FROM {table} WHERE trace_id = @trace ORDER BY timestamp";
command.Parameters.Add(new ElephantParameter("trace", traceId));
var rows = new List<string>();
await using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync()) rows.Add($"{reader.GetDateTime(0):HH:mm:ss.fff} {reader.GetString(1)}");
return rows;
}
var spans = await ByTraceAsync("spans", "timestamp, name", traceId);
var logs = await ByTraceAsync("logs", "timestamp, content", traceId);
Querying telemetry with DQL
Error spans by operation in the last day:
command.QueryLanguage = ElephantQueryLanguage.Dql;
command.CommandText = """
fetch spans, from: -1d
| filter status == "Error" and service_name == $service
| summarize errors = count(), slowest = max(duration_ms), by:{name}
| sort errors desc
""";
command.Parameters.Add(new ElephantParameter("service", "FlightOps.Api"));
Gate changes per service in the last hour, from a counter exported with Delta
temporality:
command.CommandText = """
fetch metrics, from: -1h
| filter name == "gate.changes" and temporality == "Delta"
| summarize changes = sum(value), by:{service_name}
| sort changes desc
""";
Logs, traces and metrics on one platform
Section 23's advantages extend to all three signals:
- From a chart to the cause. A spike on a metrics dashboard leads to the spans
in that window, a slow span leads to its
trace_id, and thetrace_idleads to the log rows and the business record — every step on the same platform, with the same client and the same query languages. - Constant-time trace lookup. Finding every span and log row for one
trace_idis a key lookup, so it costs the same however much telemetry is kept. - Long retention. Keeping months of traces is a storage decision, not a performance one.
As with logs, keep telemetry in its own database on the platform (a separate
Telemetry connection string, or DatabaseName) so its volume and retention stay
separate from application data.
Dashboards and alerts on telemetry
The spans and metrics tables are charted and alerted on from ElephantSqlDB
dashboards in the same way as logs and application data.
Dashboards. Typical panels are request volume, error rate and latency per operation from spans, and any counter, gauge or histogram from metrics:
fetch spans, from: -1h
| filter service_name == "FlightOps.Api"
| summarize requests = count(), slowest = max(duration_ms), by:{name}
| sort requests desc
fetch metrics, from: -1h
| filter name == "gate.changes" and temporality == "Delta"
| summarize changes = sum(value), by:{service_name}
Alerts. Define user-defined events on these queries in the dashboard, with the condition that should raise an alert. Examples:
- Error spans. More than a set number of spans with
status == "Error"for one operation in the last 15 minutes. - Latency. The slowest
duration_msfor an operation above its target. - Metric thresholds. A gauge above or below a limit, or a
Deltacounter that rises sharply or drops to zero. - Silence. No spans or metric rows from a service in the last export interval or two, which usually means the service or its exporter has stopped.
Metrics arrive once per export interval (MetricExportIntervalMilliseconds, 60 seconds
by default), so an alert on metrics can react no faster than that interval.
Alerts on spans react as soon as a batch is exported.
Testing telemetry
The exporters run under the real OpenTelemetry SDK in tests. With a fake executor
behind the connection string (section 18), build a provider, create activities or
measurements, call ForceFlush() and assert the recorded statements:
using var source = new ActivitySource("Tests");
using (var provider = Sdk.CreateTracerProviderBuilder()
.AddSource("Tests")
.AddElephantSqlDbExporter(fakeConnectionString)
.Build())
{
using (source.StartActivity("load gate")) { }
provider.ForceFlush();
}
Assert.Contains("'load gate'", fake.Statements[0]);
The test project's Telemetry/ folder covers spans, counters, histograms,
gauges, temporality, trace_id correlation with logs and ledger-down handling
offline (Category=Unit), and checks that rows land exactly once against a live
ledger (Category=Live).
Files
| File | Role |
|---|---|
Telemetry/Core/ElephantTelemetryOptions.cs |
Options shared by both exporters |
Telemetry/Core/ElephantRowWriter.cs |
Parallel single-row writes, retry, connection reuse |
Telemetry/Core/ElephantTelemetryJson.cs |
Attributes, events, links and buckets to JSON |
Telemetry/Traces/ElephantSqlDbTraceExporter.cs |
BaseExporter<Activity> → spans |
Telemetry/Traces/ElephantSqlDbTracerProviderBuilderExtensions.cs |
TracerProviderBuilder.AddElephantSqlDbExporter |
Telemetry/Metrics/ElephantSqlDbMetricExporter.cs |
BaseExporter<Metric> → metrics |
Telemetry/Metrics/ElephantSqlDbMeterProviderBuilderExtensions.cs |
MeterProviderBuilder.AddElephantSqlDbExporter |
Troubleshooting telemetry
No spans appear — the ActivitySource name is not registered with
AddSource, or the sampler dropped the trace. Spans are exported every
ScheduledDelayMilliseconds and on shutdown; dispose the provider (or let the host
stop) before exit.
No metrics appear — the Meter name is not registered with AddMeter, or the
first interval (60 seconds by default) has not passed. Call ForceFlush() to export
immediately.
NU1605 package downgrade on restore — another package in the application pins
Microsoft.Extensions.Logging (or a sibling) below 10.0.0. Raise it to 10.0.x;
the 10.x packages target .NET 8.
Counters keep growing — the default Cumulative temporality stores running
totals. Use Delta, or chart the difference between consecutive rows.
Telemetry rows missing while the ledger was down — after RetryTimeLimit, rows
go to OnWriteFailure. The SDK does not retry a failed export, so hook the callback
if those rows matter.
25. ODBC driver
ElephantSqlDb.Data includes a native ODBC 3.8 driver, in the Odbc/ folder
alongside the Entity Framework Core and DQL providers. It is written in C# on the
same core as the .NET providers, and publishing the project with NativeAOT turns it
into an ordinary native library, so any application that speaks ODBC can use
ElephantSqlDB without .NET installed:
- Languages: Python (
pyodbc), R (odbc), PHP (PDO_ODBC), Node.js (odbc), Go, Rust (odbc-api), Ruby, Perl and C/C++. - Tools: Excel, Power BI, Tableau, Qlik, SSIS, SAS and MATLAB, through a DSN with no programming.
Java does not use ODBC; Java, Kotlin and Spark need a JDBC driver, which is separate work.
ODBC application Python, R, Excel, Power BI, Tableau ...
│
driver manager Windows ODBC, or unixODBC on Linux and macOS
│
ElephantSqlDb.Odbc native library (NativeAOT)
│
ElephantSqlDb.Data escaping, paging, DQL - the same core as .NET
│
ElephantSqlDB
Because the driver runs on the same core, parameter escaping, paging, DQL and the engine rules (section 13: no transactions; section 14: no DDL or constraints) are identical to the .NET providers.
Building the driver
A normal dotnet build compiles the driver into ElephantSqlDb.Data.dll as managed
code, which is what the tests use; it adds no dependencies and changes nothing for
.NET applications. The native driver comes from publishing the same project with
OdbcDriver=true and a runtime identifier:
dotnet publish -c Release -r win-x64 -p:OdbcDriver=true
dotnet publish -c Release -r linux-x64 -p:OdbcDriver=true
dotnet publish -c Release -r osx-arm64 -p:OdbcDriver=true
OdbcDriver=true switches on NativeAOT, names the output ElephantSqlDb.Odbc and
turns off NuGet packing for that publish; the NuGet build is unaffected.
The output is a single self-contained file, ElephantSqlDb.Odbc.dll, .so or
.dylib, in bin/Release/net8.0/<rid>/publish/, with the Install/ folder beside
it. Build each platform on that platform (NativeAOT does not cross-compile between
operating systems).
Installing
Windows (elevated PowerShell, in the publish folder):
.\Install\install-windows.ps1
Add-OdbcDsn -Name ElephantSqlDB -DriverName "ElephantSqlDB ODBC Driver" -DsnType System -Platform 64-bit `
-SetPropertyValue @("BaseUri=https://api.elephantsqldb.com/", "Token=<token>",
"UserEmail=<email>", "TenantId=<tenant>", "Database=<database>")
The script registers the driver under HKLM\SOFTWARE\ODBC\ODBCINST.INI. The driver
also exports ConfigDSNW, so Add-OdbcDsn, odbcconf and the ODBC Data Source
Administrator can add and remove DSNs (there is no configuration dialog; attributes
are written as given).
Linux and macOS (requires unixODBC):
sudo ./Install/install-linux.sh
isql -v ElephantSqlDB
Add the DSN to ~/.odbc.ini or /etc/odbc.ini; Install/odbc.ini.sample is a
template.
Connection attributes
Every ElephantSqlDb.Data keyword (section 4) can be used in a DSN or connection string. The usual ODBC names are accepted as aliases, so tools that only know UID/PWD still work:
| ODBC name | ElephantSqlDb.Data keyword |
|---|---|
UID, User, User ID |
UserEmail |
PWD |
Password |
SERVER, HOST, URL |
BaseUri |
CATALOG (or Database) |
Database |
APIKEY |
Token |
Attributes in the connection string override the DSN's. DRIVER, DSN,
Description and unknown keywords are not passed on. A DSN-less string works too:
Driver={ElephantSqlDB ODBC Driver};BaseUri=https://api.elephantsqldb.com/;Token=<token>;UserEmail=<email>;TenantId=<tenant>;Database=<database>
There is no login dialog. If an attribute is missing, the connection fails with
SQLSTATE 08001 and a message naming what to supply.
Using the driver from C#
System.Data.Odbc reaches the driver exactly as any other ODBC application does,
which makes it a convenient way to verify an installation:
using System.Data.Odbc;
using var connection = new OdbcConnection("DSN=ElephantSqlDB");
connection.Open();
using var command = new OdbcCommand("SELECT id, name FROM customers WHERE id = ?", connection);
command.Parameters.AddWithValue("id", 42);
using var reader = command.ExecuteReader();
while (reader.Read())
Console.WriteLine($"{reader.GetInt64(0)} {reader.GetString(1)}");
From Python, R or Excel the same DSN is used unchanged: pyodbc.connect("DSN=ElephantSqlDB", autocommit=True), dbConnect(odbc::odbc(), "ElephantSqlDB"), or Data > Get Data >
From ODBC.
SQL through ODBC
Parameters. ? markers become named parameters (@__p1, @__p2 ...) and
values go through the provider's literal binder (section 15), the one place values
are escaped. Markers inside quotes and comments are left alone. Parameter arrays
(SQL_ATTR_PARAMSET_SIZE, executemany) run one statement per row.
Escape clauses. {d '...'}, {t '...'}, {ts '...'}, {fn ...}, {oj ...} and
{escape '...'} are expanded to plain SQL. {call ...} is rejected with HYC00:
ElephantSqlDB has no stored procedures.
Queries and writes. ODBC has one execute call for every statement. Statements
starting with SELECT, WITH, FETCH, VALUES, SHOW, DESCRIBE or EXPLAIN
run as queries; everything else runs as a write. With QueryLanguage=Dql in the
DSN, every statement is a DQL query.
Empty results. ElephantSqlDB returns rows as JSON objects, so an empty result
carries no column names. For SELECT * FROM t and SELECT a, b AS c FROM t the
driver recovers the columns from the select list and the table's schema, so tools
still see them; for other shapes an empty result reports no columns.
Types
Result types come from the values ElephantSqlDB returns; catalog types come from the stored schema.
| Value | ODBC SQL type |
|---|---|
| text, JSON objects | SQL_WVARCHAR |
| integers | SQL_BIGINT (SQL_INTEGER in the catalog for int columns) |
| decimals | SQL_DOUBLE or SQL_DECIMAL |
| booleans | SQL_BIT |
| date and time | SQL_TYPE_TIMESTAMP, SQL_TYPE_DATE, SQL_TYPE_TIME |
| UUIDs | SQL_GUID |
| binary | SQL_VARBINARY |
Values convert to every common C type (character, integer, floating point,
numeric, bit, date, time, timestamp, GUID and binary). Long character and binary
values can be read in pieces with SQLGetData.
Transactions
The driver reports SQL_TXN_CAPABLE = SQL_TC_NONE, matching the engine. Each
statement applies as it runs. Applications that turn autocommit off (pyodbc does
by default) still work: the driver accepts it with a warning, SQLEndTran(COMMIT)
succeeds, and SQLEndTran(ROLLBACK) after a write fails with HYC00, stating that
the statements have already been applied. Pass autocommit=True to pyodbc to avoid
the warning.
Catalog functions
ElephantSqlDB databases are ODBC catalogs; there are no schemas. SQLTables,
SQLColumns, SQLPrimaryKeys, SQLForeignKeys, SQLSpecialColumns and
SQLGetTypeInfo are answered from the stored schema, which is what BI tools use to
browse tables. A null catalog means the connection's current database, so tools
generate unqualified SQL, which runs against that database. SQLStatistics and the
procedure functions return empty results.
Capabilities and limits
- Forward-only, read-only cursors; block fetches with
SQL_ATTR_ROW_ARRAY_SIZE. - Input parameters only; no
SQLPutData(data at execution). - No asynchronous execution, bookmarks or positioned updates.
- SQL-dialect capabilities (scalar functions, outer joins, subqueries, aggregates) are reported to applications as unsupported until confirmed against the engine, so tools generate simple SQL rather than SQL that fails.
- unixODBC is supported on Linux and macOS; iODBC (four-byte
SQLWCHAR) is not.
Testing the driver
The test project's Odbc/ folder drives the API exactly as a driver manager does,
with native buffers, against an in-memory ledger:
dotnet test --filter "Area=Odbc&Category=Unit"
The tests cover connection strings and DSN merging, describe and fetch, chunked
SQLGetData, block fetches, parameter escaping (including an injection attempt),
parameter arrays, empty-result columns, catalog functions, diagnostics,
transactions, SQLGetFunctions and invalid handles.
Files
| File | Role |
|---|---|
ElephantSqlDb.Data.csproj |
OdbcDriver=true publish settings (NativeAOT shared library) |
Odbc/Exports.cs |
Native ODBC entry points |
Odbc/OdbcApi.cs |
Handle checks, locking and diagnostics around each function |
Odbc/Core/OdbcDbc.cs |
Environment and connection handles, connect, catalog cache |
Odbc/Core/OdbcStatement.cs |
Prepare, execute, fetch, SQLGetData |
Odbc/Core/SqlRewriter.cs |
? markers and ODBC escape clauses |
Odbc/Core/OdbcConnectionString.cs |
Connection strings, DSN merging, aliases |
Odbc/Core/ValueWriter.cs, Odbc/Core/ParameterReader.cs |
C type conversion out and in |
Odbc/Core/SqlTypes.cs, Odbc/Core/DriverInfo.cs |
Type mapping, SQLGetInfo, SQLGetFunctions |
Odbc/Catalog/CatalogQueries.cs |
Catalog result sets, empty-result columns |
Odbc/Setup/OdbcInst.cs |
DSN reading and ConfigDSNW through the installer library |
Odbc/Install/ |
Windows and unixODBC install scripts, sample DSN |
Troubleshooting ODBC
IM002 data source name not found — the DSN is missing, or was created for the
other bitness. 64-bit applications see only 64-bit DSNs; use
-Platform 64-bit with Add-OdbcDsn.
IM003 specified driver could not be loaded — the Driver path in the registry
or odbcinst.ini is wrong, or the library was published for another platform.
08001 unable to connect — a required attribute (BaseUri, Token,
UserEmail, Database) is missing, or the ledger is unreachable. The message names
the cause.
A query returns no columns — the result was empty and the statement is not a
simple SELECT ... FROM table; see Empty results above.
Publish warnings about trimming — expected from dependencies that use
reflection; the project keeps them whole (TrimMode=partial). A missing-member error
at run time means a type was trimmed and should be reported.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. |
-
net8.0
- ElephantSqlDBClient (>= 1.0.188)
- log4net (>= 3.0.3)
- Microsoft.EntityFrameworkCore.Relational (>= 8.0.10)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Newtonsoft.Json (>= 13.0.3)
- OpenTelemetry (>= 1.17.0)
- Serilog (>= 4.2.0)
- ServiceStack.OrmLite (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.193 | 44 | 10/29/2026 |
ElephantSqlDB Client for .NET 8.0 - ADO.NET provider, OrmLite, Dapper dialects and EF Core 8 provider (UseElephantSqlDb, dotnet ef scaffolding). Obfuscated and optimized for production use.