Summary
Consider adding scoped translation support for LINQ SequenceEqual when it is used against DynamoDB scalar/attribute values where DynamoDB PartiQL can preserve the expected semantics.
Proposed support
- Translate
byte[].SequenceEqual(...) for binary attributes to PartiQL equality, matching EF Core relational provider behavior for binary columns.
- Investigate translating list-valued attribute comparisons to PartiQL equality, for example
entity.Tags.SequenceEqual(tags) -> Tags = ?, only if DynamoDB Local/integration tests confirm order-sensitive structural list equality.
Non-goals
- Do not support
IQueryable<T>.SequenceEqual(...) between two query results. DynamoDB/PartiQL does not provide a natural row ordinal or general query-composition model that can express ordered positional sequence equality without misleading semantics or scan-heavy client behavior.
Acceptance criteria
- Binary attribute
SequenceEqual translates and executes correctly.
- If list support is added, integration tests prove same-length, same-order, same-value behavior and distinguish reordered lists.
- Queryable sequence equality remains unsupported with a clear translation error.
- User-facing querying docs/limitations are updated if behavior changes.
Notes
EF Core relational providers commonly translate byte[] SequenceEqual as binary equality. General query-result SequenceEqual is not a good fit because it is order-sensitive.
Summary
Consider adding scoped translation support for LINQ
SequenceEqualwhen it is used against DynamoDB scalar/attribute values where DynamoDB PartiQL can preserve the expected semantics.Proposed support
byte[].SequenceEqual(...)for binary attributes to PartiQL equality, matching EF Core relational provider behavior for binary columns.entity.Tags.SequenceEqual(tags)->Tags = ?, only if DynamoDB Local/integration tests confirm order-sensitive structural list equality.Non-goals
IQueryable<T>.SequenceEqual(...)between two query results. DynamoDB/PartiQL does not provide a natural row ordinal or general query-composition model that can express ordered positional sequence equality without misleading semantics or scan-heavy client behavior.Acceptance criteria
SequenceEqualtranslates and executes correctly.Notes
EF Core relational providers commonly translate
byte[]SequenceEqualas binary equality. General query-resultSequenceEqualis not a good fit because it is order-sensitive.