Devlooped.TableStorage.Bson
5.5.0
Prefix Reserved
dotnet add package Devlooped.TableStorage.Bson --version 5.5.0
NuGet\Install-Package Devlooped.TableStorage.Bson -Version 5.5.0
<PackageReference Include="Devlooped.TableStorage.Bson" Version="5.5.0" />
<PackageVersion Include="Devlooped.TableStorage.Bson" Version="5.5.0" />
<PackageReference Include="Devlooped.TableStorage.Bson" />
paket add Devlooped.TableStorage.Bson --version 5.5.0
#r "nuget: Devlooped.TableStorage.Bson, 5.5.0"
#:package Devlooped.TableStorage.Bson@5.5.0
#addin nuget:?package=Devlooped.TableStorage.Bson&version=5.5.0
#tool nuget:?package=Devlooped.TableStorage.Bson&version=5.5.0
A BSON binary serializer for use with document-based repositories.
Usage:
var repo = DocumentRepository.Create<Product>(..., serializer: BsonDocumentSerializer.Default);
Open Source Maintenance Fee
To ensure the long-term sustainability of this project, users of this package who generate revenue must pay an Open Source Maintenance Fee. While the source code is freely available under the terms of the License, this package and other aspects of the project require adherence to the Maintenance Fee.
To pay the Maintenance Fee, become a Sponsor at the proper OSMF tier. A single fee covers all of Devlooped packages.
Document Storage
The DocumentRepository.Create and DocumentPartition.Create factory methods provide access
to document-based storage, exposing the a similar API as column-based storage.
Document repositories cause entities to be persisted as a single document column, alongside type and version information to handle versioning at the app level as needed.
The API is mostly the same as for column-based repositories (document repositories implement
the same underlying ITableStorage interface):
public record Product(string Category, string Id)
{
public string? Title { get; init; }
public double Price { get; init; }
public DateOnly CreatedAt { get; init; }
}
var book = new Product("book", "9781473217386")
{
Title = "Neuromancer",
Price = 7.32
};
// Column-based storage
var repo = TableRepository.Create<Product>(
CloudStorageAccount.DevelopmentStorageAccount,
tableName: "Products",
partitionKey: p => p.Category,
rowKey: p => p.Id);
await repo.PutAsync(book);
// Document-based storage
var docs = DocumentRepository.Create<Product>(
CloudStorageAccount.DevelopmentStorageAccount,
tableName: "Documents",
partitionKey: p => p.Category,
rowKey: p => p.Id
serializer: [SERIALIZER]);
await docs.PutAsync(book);
If not provided, the serializer defaults to the
System.Text.Json-basedDocumentSerializer.Default.
The resulting differences in storage can be seen in the following screenshots of the Azure Storage Explorer:


The Type column persisted in the documents table is the Type.FullName of the persisted entity, and the
Version is the [Major].[Minor] of its assembly, which could be used for advanced data migration scenarios.
The major and minor version components are also provided as individual columns for easier querying
by various version ranges, using IDocumentRepository.EnumerateAsync(predicate).
If the serialized documents need to access the Timestamp managed by Azure Table
Storage, you can implement IDocumentTimestamp in your entity type.
Sponsors
| Product | Versions 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 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Devlooped.TableStorage (>= 5.5.0)
- Newtonsoft.Json (>= 13.0.3)
- Newtonsoft.Json.Bson (>= 1.0.3)
-
net8.0
- Devlooped.TableStorage (>= 5.5.0)
- Newtonsoft.Json (>= 13.0.3)
- Newtonsoft.Json.Bson (>= 1.0.3)
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 |
|---|---|---|
| 5.5.0 | 476 | 11/17/2025 |
| 5.4.0 | 246 | 6/20/2025 |
| 5.3.1 | 288 | 6/14/2025 |
| 5.3.0 | 294 | 5/22/2025 |
| 5.2.4 | 265 | 5/21/2025 |
| 5.2.3 | 309 | 5/17/2025 |
| 5.2.2 | 317 | 5/6/2025 |
| 5.2.1 | 257 | 10/22/2024 |
| 5.2.0 | 254 | 7/24/2024 |
| 5.2.0-rc.1 | 130 | 7/13/2024 |
| 5.2.0-rc | 174 | 7/10/2024 |
| 5.2.0-beta | 193 | 7/6/2024 |
| 5.1.2 | 283 | 1/25/2024 |
| 5.1.1 | 265 | 10/4/2023 |
| 5.1.0 | 291 | 8/11/2023 |
| 5.0.2 | 295 | 8/8/2023 |
| 5.0.1 | 279 | 7/25/2023 |
| 5.0.0 | 294 | 7/25/2023 |
| 4.3.1 | 300 | 7/24/2023 |
| 4.3.0 | 289 | 6/27/2023 |