Skip to main content

DYNDB003: Multiple sort keys

FieldValue
CodeDYNDB003
SeverityError

Message

Entity '{0}' has multiple properties marked with [SortKey]. Only one is allowed.

Description

A DynamoDB entity can only have one sort key property. DynamoDB tables support at most one sort key attribute, and the source generator enforces this constraint at compile time.

Example

The following code triggers this diagnostic:

[DynamoDbTable("Orders")]
public partial class Order
{
[PartitionKey]
[DynamoDbAttribute("pk")]
public string Pk { get; set; } = string.Empty;

[SortKey]
[DynamoDbAttribute("sk")]
public string Sk { get; set; } = string.Empty;

[SortKey]
[DynamoDbAttribute("createdAt")]
public string CreatedAt { get; set; } = string.Empty;
}

Fix

The corrected version:

[DynamoDbTable("Orders")]
public partial class Order
{
[PartitionKey]
[DynamoDbAttribute("pk")]
public string Pk { get; set; } = string.Empty;

[SortKey]
[DynamoDbAttribute("sk")]
public string Sk { get; set; } = string.Empty;

[DynamoDbAttribute("createdAt")]
public string CreatedAt { get; set; } = string.Empty;
}