Dynamo.ORM 0.3.0

dotnet add package Dynamo.ORM --version 0.3.0
NuGet\Install-Package Dynamo.ORM -Version 0.3.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dynamo.ORM" Version="0.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Dynamo.ORM --version 0.3.0
#r "nuget: Dynamo.ORM, 0.3.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Dynamo.ORM as a Cake Addin
#addin nuget:?package=Dynamo.ORM&version=0.3.0

// Install Dynamo.ORM as a Cake Tool
#tool nuget:?package=Dynamo.ORM&version=0.3.0

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.3.0

  • Added ability to pass in custom table names to the repository functions at runtime
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
0.3.0 1,248 2/17/2024
0.2.1 1,062 3/7/2023
0.2.0 1,245 4/4/2021
0.1.4.6 317 4/1/2021
0.1.4.5 2,191 2/6/2021
0.1.4.4 536 4/23/2020
0.1.4.3 1,521 7/12/2019
0.1.3 613 1/23/2019
0.1.2 618 1/21/2019
0.1.1 656 12/14/2018
0.1.0 615 11/23/2018
0.0.4 650 11/22/2018
0.0.3 636 11/21/2018
0.0.2 674 11/20/2018
0.0.1 694 11/19/2018

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

     -- Release Notes --
     - Added ability to pass in custom table names to the repository functions at runtime

     Full history of release notes can be found on the GitHub page