HUMANiT.Azure.Data
10.0.1
Prefix Reserved
dotnet add package HUMANiT.Azure.Data --version 10.0.1
NuGet\Install-Package HUMANiT.Azure.Data -Version 10.0.1
<PackageReference Include="HUMANiT.Azure.Data" Version="10.0.1" />
<PackageVersion Include="HUMANiT.Azure.Data" Version="10.0.1" />
<PackageReference Include="HUMANiT.Azure.Data" />
paket add HUMANiT.Azure.Data --version 10.0.1
#r "nuget: HUMANiT.Azure.Data, 10.0.1"
#:package HUMANiT.Azure.Data@10.0.1
#addin nuget:?package=HUMANiT.Azure.Data&version=10.0.1
#tool nuget:?package=HUMANiT.Azure.Data&version=10.0.1
HUMANiT Azure Data
Features
- Cosmos: Simlified access to Azure Cosmos.
- Cosmos Items: Simplifies and size-optimizes serialization into to Azure Cosmos documents.
Usage
Add this package to your project:
<PackageReference Include="HUMANiT.Azure.Data" Version="x.y.z" />
Version 10.0 (Upgrade from 2.0)
- Breaking: Explicit .NET 8 target framework removed. Use .NET 10 instead.
- Breaking: All obsolete code from version 2.x removed, including
ICosmosContextinterface. UseCosmosContextinstead. - New: Non-generic
CosmosItemclass introduced that can be used without an underlying domain object. - New:
DomainObjectCosmosItemclass added. It handles the serialization/deserialization of domain objects into/from Cosmos documents. - New:
DomainEntityCosmosItemclass added (.NET 10). It handles the serialization/deserialization of domain entities into/from Cosmos documents. - Improved: Inline documentation.
- Obsolete:
CosmosItem<TDomainObject>class deprecated. UseDomainObjectCosmosIteminstead. - Obsolete: Multiple constants deprecated.
Contact
This package contains features which we require for our own software; therefore, some features are highly custom. If you require a fix, an enhancement, or a more configurable solution, please contact us: support@humanit.nz.
License
MIT -- free software, hell yeah 🤩
Quickstarts
Cosmos
Simlified access to Azure Cosmos.
Located in namespace HUMANiT.Azure.Data.Cosmos.
Quickstart guidance will come.
Cosmos Items
Simplifies and size-optimizes serialization into to Azure Cosmos documents.
Located in namespace HUMANiT.Azure.Data.Cosmos.Items.
Cosmos Item
The purpose of CosmosItem will be explained later.
The parameterless CosmosItem() constructor ... explained later.
The ItemTypeName property is a built-in object/document type identifier. It is based on the underlying type. Its purpose is to deal with Cosmos DB specifics. Different items have different item type names which allows to select all items of an item type from a Cosmos container that holds different types of documents. Type names are optimised for readability. For example, if a type name ends with CosmosItem, that name part is stripped away.
To disable the serialisation of any property into Cosmos documents and therefore save storage space, override it and mark it with Newtonsoft.Json.JsonIgnoreAttribute. Example:
// We override this property, so we can exclude it from the serialisation into our Cosmos docs.
[JsonIgnore]
public override string ItemTypeName
{
get => base.ItemTypeName;
set => base.ItemTypeName = value;
}
The DetermineItemTypeName() method ... explained later.
The Extract() methods ... explained later.
The Restore...() methods ... explained later.
More guidance will come.
Domain Entity Cosmos Item (.NET 8+)
The purpose of DomainEntityCosmosItem ... explained later. Available in .NET 8 and later.
The parameterless DomainEntityCosmosItem() constructor ... explained later.
The DomainEntityCosmosItem(TDomainEntity, bool) constructor ... explained later.
The CreatedUtc property is the UTC date and time when the underlaying domain entity was created. The timestamp is stored in UTC.
The Health property is the health state of the underlaying domain entity. Its lookup value is stored.
The Id property ... explained later.
The Modified property ... explained later.
The TenantId property ... explained later.
The UserId property ... explained later.
The Extract(...) methods ... explained later.
The ExtractId(Guid?) method ... explained later.
The ExtractProperties(TDomainEntity, bool) method ... explained later.
The Restore() method ... explained later.
The Restore...() methods ... explained later.
More guidance will come.
Domain Object Cosmos Items
The purpose of DomainObjectCosmosItem ... explained later.
The parameterless constructor DomainObjectCosmosItem() ... explained later.
The constructor DomainObjectCosmosItem(TDomainObject) ... explained later.
The ExtractProperties() method ... explained later.
The Restore() method ... explained later.
The purpose of IdentifiableCosmosItem ... explained later.
The purpose of EmbeddedCosmosItem ... explained later.
The purpose of BasicPersistableCosmosItem ... explained later.
The purpose of PersistableCosmosItem ... explained later.
More guidance will come.
| 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 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. 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 is compatible. 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
- HUMANiT.Azure (>= 10.0.1)
- Microsoft.Azure.Cosmos (>= 3.62.0)
- Newtonsoft.Json (>= 13.0.4)
-
net10.0
- HUMANiT.Azure (>= 10.0.1)
- Microsoft.Azure.Cosmos (>= 3.62.0)
- Newtonsoft.Json (>= 13.0.4)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on HUMANiT.Azure.Data:
| Package | Downloads |
|---|---|
|
HUMANiT.Azure.Logic
Feature logic for use in Azure Functions such as central logging support, domain objects, heartbeat, Swagger doc/UI generation. [covered by 50+ tests] |
GitHub repositories
This package is not used by any popular GitHub repositories.
Contact HUMANiT for details: support@HUMANiT.nz