Skip to main content

DYNDB112: Missing Geospatial package

FieldValue
CodeDYNDB112
SeverityWarning

Message

Property '{0}' has spatial index configuration but the Oproto.FluentDynamoDb.Geospatial package is not referenced; add the package reference to enable spatial indexing

Description

Spatial index configuration requires the Oproto.FluentDynamoDb.Geospatial package to provide GeoLocation type and spatial encoding functionality. Without this package, the spatial index attributes cannot function correctly.

Example

The following code triggers this diagnostic:

// Project does NOT reference Geospatial package
[DynamoDbTable("Stores")]
public partial class Store
{
[PartitionKey]
[DynamoDbAttribute("pk")]
public string Pk { get; set; } = string.Empty;

[StoreCoordinates(SpatialIndexType = SpatialIndexType.GeoHash)]
[DynamoDbAttribute("location")]
public GeoLocation Location { get; set; }
}

Fix

The corrected version:

<!-- Add to your .csproj file -->
<PackageReference Include="Oproto.FluentDynamoDb.Geospatial" />
[DynamoDbTable("Stores")]
public partial class Store
{
[PartitionKey]
[DynamoDbAttribute("pk")]
public string Pk { get; set; } = string.Empty;

[StoreCoordinates(SpatialIndexType = SpatialIndexType.GeoHash)]
[DynamoDbAttribute("location")]
public GeoLocation Location { get; set; }
}