Skip to content

Add GroupBy, CheckExists, AssignTagWhere, and EventsExistByTags#4165

Merged
jeremydmiller merged 1 commit intomasterfrom
check-exists
Mar 11, 2026
Merged

Add GroupBy, CheckExists, AssignTagWhere, and EventsExistByTags#4165
jeremydmiller merged 1 commit intomasterfrom
check-exists

Conversation

@jeremydmiller
Copy link
Member

Summary

  • Add GroupBy LINQ operator support with anonymous type and IGrouping<TKey, TElement> result handling
  • Add CheckExistsAsync<T>(id) for efficient existence checks by document ID (supports Guid, int, long, string, and strong-typed IDs)
  • Add AssignTagWhere operation for DCB event tagging with arbitrary where clauses
  • Add EventsExistByTags batch query operation for checking event existence by tags

Test plan

  • GroupBy operator tests (LinqTests/Operators/group_by_operator.cs)
  • CheckExists tests (DocumentDbTests/Reading/check_document_exists.cs)
  • CheckExists with strong-typed IDs (ValueTypeTests/check_exists_with_strong_typed_ids.cs)
  • AssignTagWhere tests (EventSourcingTests/Dcb/assign_tag_where_tests.cs)
  • EventsExistByTags tests (EventSourcingTests/Dcb/dcb_tag_query_and_consistency_tests.cs)

🤖 Generated with Claude Code

…tsExistByTags

- Implement GroupBy LINQ operator with key selectors, aggregates (Count, Sum, Min, Max, Avg), composite keys, and HAVING clauses
- Add CheckExistsAsync<T> API with strong-typed ID support and batch query integration
- Add EventsExistByTags for checking event existence by tag conditions in DCB scenarios
- Add AssignTagWhere operation for retroactively tagging events matching a LINQ WHERE clause
- Include tests and documentation for all new features

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant