SkillAgentSearch skills...

Dynamo.ORM

An async ORM built for Amazon Web Service's DynamoDb in .Net Standard

Install / Use

/learn @marcodafonseca/Dynamo.ORM
About this skill

Quality Score

0/100

Category

Operations

Supported Platforms

Universal

README

Dynamo.ORM

An async ORM built for Amazon Web Service's DynamoDb in .Net Standard This is still in beta

Please don't hesitate to log issues or requests on GitHub. We are working everyday to make this more and more robust to ensure it will help more developers.

The examples below use the local Amazon DynamoDb you would setup on your machine

Example Usage

Example setup of a table model called 'People'

[DynamoDBTable("People")]
public class PersonModel : Base
{
    [DynamoDBHashKey]
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime CreatedDate { get; set; }
}

Example configuration

var config = new AmazonDynamoDBConfig
{
    ServiceURL = "http://localhost:8000/"
};
var client = new AmazonDynamoDBClient(config);
var repository = new Repository(client);

Example adding a Person with the HashKey '1'

var model = new PersonModel();

model.Id = 1;
model.FirstName = "John";
model.LastName = "Smith";
model.CreatedDate = DateTime.Now;

await repository.Add(model);

Example getting a Person entry with the HashKey '1'

var entity = await repository.Get<PersonModel>(1);

Example updating a Person entry with the HashKey '1'

var model = new PersonModel();

model.Id = 1;
model.FirstName = "John";
model.LastName = "Smith";
model.CreatedDate = DateTime.Now;

await repository.Update(model);

Example deleting a Person entry with the HashKey '1'

await repository.Delete<PersonModel>(1);

If you don't want to use the Table Name attribute you can provide the Table Name as a parameter on repository Call. Examples of calls made with additional parameter


var model = new PersonModel();

model.Id = 1;
model.FirstName = "John";
model.LastName = "Smith";
model.CreatedDate = DateTime.Now;

await repository.Add(model, "tableName");
await repository.Get<PersonModel>(model.Id, "tableName");
await repository.Get<PersonModel>(x => x.FirstName == "Fake", "tableName");
await repository.List<PersonModel>(x => x.Id < 20 && x.Id >= 10, "tableName");
await repository.Update(model, "tableName");
await repository.Delete(model, "tableName");

Release Notes

Click here to view all the release notes

Version 0.5.1

  • Ensuring that minimum version of AWSSDK.DynamoDBv2 will be 4.0.10.6

Important Links

View on GitHub
GitHub Stars17
CategoryOperations
Updated2mo ago
Forks0

Languages

C#

Security Score

95/100

Audited on Jan 6, 2026

No findings