Skip to content
Mark Lauter edited this page Feb 14, 2026 · 11 revisions

DynamoDbLite Logo

DynamoDbLite

A lightweight, in-process implementation of IAmazonDynamoDB backed by SQLite — for local development, testing, and offline-capable apps. See the AWS DynamoDB Developer Guide for DynamoDB concepts.

Why DynamoDbLite?

  • No AWS credentials needed — develop and test without internet connectivity
  • Fast testing — in-memory or file-based SQLite, no network round-trips
  • Zero cost — no DynamoDB provisioned capacity charges during development
  • Drop-in replacement — implements the full IAmazonDynamoDB interface

Feature Summary

Category Status
Table Operations Supported
Item CRUD (Put, Get, Delete, Update) Supported
Query and Scan Supported
Batch Operations (BatchGet, BatchWrite) Supported
Transactions (TransactWrite, TransactGet) Supported
Secondary Indexes (GSI, LSI) Supported
TTL Supported
Tags Supported
Export / Import Supported
Endpoints & Limits Stubbed (mock values)
Backup & Restore Not Implemented
Global Tables Not Implemented
Kinesis Streams Not Implemented
PartiQL Not Implemented

See API Parity for a detailed compatibility matrix.

Quick Start

using DynamoDbLite;

// Default: in-memory database
var client = new DynamoDbClient();

// Or with a file-based database
var client = new DynamoDbClient(new DynamoDbLiteOptions("Data Source=myapp.db"));

For dependency injection, use the DynamoDbLite.DependencyInjection package:

services.AddDynamoDbLite(new DynamoDbLiteOptions("Data Source=myapp.db"));

See Getting Started for full setup instructions including configuration-based DI registration.

API reference

Advanced

Clone this wiki locally