ASCDataAccessLibrary
The only ORM and data access framework for Azure Table Storage in the .NET ecosystem. ASCDataAccessLibrary gives .NET developers (6 through 10) an Entity-Framework-style experience — lambda expression queries, strongly-typed entities, automatic serialization, batch operations, and fluent extension methods — on top of the most cost-effective NoSQL cloud database available. v4.3 adds a complete performance layer: a SINGLE unified result cache (one class, one Count, one Clear, one TTL model) with declarative per-entity tuning via [CachePolicy], delta-refresh for append-only data (logs, audit, events) that keeps the cache current at minimal wire cost, SingleFlight coalescing of concurrent identical fetches, paged-result caching, and IAsyncEnumerable streaming for Azure Tables (matching the blob streaming shipped in v4.0). Every existing call site in your codebase gets faster the moment you upgrade — no consumer code change required. Write idiomatic C# against Azure Table Storage and Azure Blob Storage without touching the raw SDK: • var customer = await new Customer().LoadAsync(x => x.CompanyId == id) • await customer.SaveAsync() • await customers.DeleteAsync() • [CachePolicy("5m")] on the entity → process-wide caching with write-through invalidation • await foreach (var row in da.StreamCollectionAsync(predicate)) → progressive-render UIs Key features: • Lambda expression queries with automatic hybrid server-side / client-side OData splitting • Strongly-typed entities with transparent decimal precision, large string chunking, and enum serialization • Dynamic entities (DynamicEntity) for schema-free, runtime-defined data — telemetry, ETL, multi-tenant config • Batch insert / update / delete up to any size — auto-chunked at Azure's 100-entity limit • Cursor-based pagination with continuation tokens • IAsyncEnumerable streaming for Azure Tables — StreamCollectionAsync yields rows as the SDK pages them (NEW in v4.3) • Result caching with [CachePolicy] — attribute-driven, TTL-based, write-through invalidation (NEW in v4.3) • Zero-config request memoization — auto-creates an AsyncLocal scope on first DAL touch (NEW in v4.3) • SingleFlight coalescing — concurrent identical fetches share one Azure round-trip (NEW in v4.3) • Azure Blob Storage with IAsyncEnumerable streaming, lambda tag filtering, and FFmpeg video compression • Persistent resumable work queues (QueueData<T> + StateList<T>) with crash recovery and position tracking • Azure Table Storage session management for ASP.NET Core, desktop, console, and background service apps • First-class ILogger provider — standard .NET structured logging backed by Azure Table Storage • TableStorage.Configure() once in Program.cs — credentials resolved automatically across the entire app Built and maintained by Answer Sales Calls Inc. (ASC). Targets Azure.Data.Tables SDK v12 (no legacy Cosmos.Table dependency). Ships as net9.0 — compatible with .NET 9 and .NET 10 SDK builds. .NET 6, 7, and 8 consumers install via NuGet TFM fallback. Tags: Azure Table Storage ORM, NoSQL database .NET, Entity Framework alternative Azure, Lambda query Azure Storage, Azure data access library, cloud database C#, Azure Blob Storage .NET, result caching .NET, request-scoped memoization, IAsyncEnumerable streaming, SingleFlight coalescing, session management Azure, structured logging Azure Table, queue management .NET, DynamicEntity schema-free storage
Activity
- Latest release
- 2mo ago
- Total releases
- 22
- Cadence
- ~8 days
- Last 12 months
- 9
Details
- First release
- May 10, 2025
| Version | Released | |
|---|---|---|
4.3.0
minor
|
4.3.0
minor
Dependencies (12)
+ 4 more |
|
4.2.0
minor
|
4.2.0
minor
Dependencies (12)
+ 4 more |
|
4.1.0
minor
|
4.1.0
minor
Dependencies (12)
+ 4 more |
|
4.0.5
patch
|
4.0.5
patch
Dependencies (12)
+ 4 more |
|
4.0.4
patch
|
4.0.4
patch
Dependencies (12)
+ 4 more |
|
4.0.3
patch
|
4.0.3
patch
Dependencies (12)
+ 4 more |
|
4.0.2
patch
|
4.0.2
patch
Dependencies (12)
+ 4 more |
|
4.0.1
patch
|
4.0.1
patch
Dependencies (12)
+ 4 more |
|
4.0.0
major
|
4.0.0
major
Dependencies (12)
+ 4 more |
|
3.1.0
minor
|
3.1.0
minor
Dependencies (9)
+ 1 more |
|
3.0.0
major
|
3.0.0
major
Dependencies (9)
+ 1 more |
|
2.5.0
minor
|
2.5.0
minor
Dependencies (2)
|
|
2.4.0
minor
|
2.4.0
minor
Dependencies (2)
|
|
2.3.0
minor
|
2.3.0
minor
Dependencies (2)
|
|
2.2.0
minor
|
2.2.0
minor
Dependencies (2)
|
|
2.1.0
minor
|
2.1.0
minor
Dependencies (2)
|
|
2.0.0
major
|
2.0.0
major
Dependencies (2)
|
|
1.0.4
patch
|
1.0.4
patch
Dependencies (2)
|
|
1.0.3
patch
|
1.0.3
patch
Dependencies (2)
|
|
1.0.2
patch
|
1.0.2
patch
Dependencies (2)
|
|
1.0.1
patch
|
1.0.1
patch
Dependencies (2)
|
|
1.0.0
initial
|
1.0.0
initial
Dependencies (1)
|