DynamoDB.Net.Serialization.Newtonsoft.Json 1.0.0-beta-20240406-1

This is a prerelease version of DynamoDB.Net.Serialization.Newtonsoft.Json.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package DynamoDB.Net.Serialization.Newtonsoft.Json --version 1.0.0-beta-20240406-1
NuGet\Install-Package DynamoDB.Net.Serialization.Newtonsoft.Json -Version 1.0.0-beta-20240406-1
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="DynamoDB.Net.Serialization.Newtonsoft.Json" Version="1.0.0-beta-20240406-1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DynamoDB.Net.Serialization.Newtonsoft.Json --version 1.0.0-beta-20240406-1
#r "nuget: DynamoDB.Net.Serialization.Newtonsoft.Json, 1.0.0-beta-20240406-1"
#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 DynamoDB.Net.Serialization.Newtonsoft.Json as a Cake Addin
#addin nuget:?package=DynamoDB.Net.Serialization.Newtonsoft.Json&version=1.0.0-beta-20240406-1&prerelease

// Install DynamoDB.Net.Serialization.Newtonsoft.Json as a Cake Tool
#tool nuget:?package=DynamoDB.Net.Serialization.Newtonsoft.Json&version=1.0.0-beta-20240406-1&prerelease

DynamoDB.Net

Easy to use and performant DynamoDB libary for .NET Core

1.0.0-beta

I created the library back in 2016 as an alternative to the "high level" AWS SDK DynamoDB library that in my opionion had quite bad developer experience, no high level support for query/scan filters, reflection based (slow) serialization etc. It has since been used in both commercial and non-commercial products.

Because of lack of time to invest in creating documentation and adding a test suite I haven't gotten around to publish it as open source on GitHub and making the binaries available on NuGet.

At the time when this library was created Newtonsoft.Json was the defacto JSON serializer for .NET Core so it was chosen as the sole option for object serialization. As Newtonsoft.Json has been replaced by System.Text.Json and is no longer an essential part of the .NET ecosystem I would want to make it an optional serialization method instead (for backward compatibility) before I release a proper 1.0.0 version of this package. There is also missing functionality like transaction support which has been added to DynamoDB after this library was created.

TODO

  • Write acceptance test suite
  • Extract all Newtonsoft.Json related serialization functionality to it's own package
  • Implement alternative serialization method
  • Write unit tests to increase code coverage
  • Add support for transactions

Run Tests

# Start local DynamoDB server
docker run -p 8000:8000 amazon/dynamodb-local

# Run tests
dotnet test \
    tests/DynamoDB.Net.Tests.csproj \
    --logger:"console;verbosity=detailed" \
    /p:CollectCoverage=true \
    /p:CoverletOutputFormat=cobertura \
    /p:CoverletOutput=.coverage/cobertura.xml

# Create code coverage report
reportgenerator \
    -reporttypes:Html \
    -reports:tests/.coverage/cobertura.xml \
    -targetdir:tests/.coverage

# Open code coverage report
open tests/.coverage/index.html
Product 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. 
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