From 11d8dc68eee165cf13ceede6c1f216b591e6672e Mon Sep 17 00:00:00 2001 From: Anne Erdtsieck Date: Thu, 6 Feb 2025 16:53:50 +0100 Subject: [PATCH] Cast based on StreamIdentity --- .../Events/Aggregation/CustomProjection.cs | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/Marten/Events/Aggregation/CustomProjection.cs b/src/Marten/Events/Aggregation/CustomProjection.cs index 9096dc506b..0c9509b583 100644 --- a/src/Marten/Events/Aggregation/CustomProjection.cs +++ b/src/Marten/Events/Aggregation/CustomProjection.cs @@ -376,7 +376,7 @@ async ValueTask ILiveAggregator.BuildAsync(IReadOnlyList eve var documentSessionBase = session as DocumentSessionBase ?? (DocumentSessionBase)session.DocumentStore.LightweightSession(); var latestEvent = events.Last(); - var streamId = IdentityFromEvent(latestEvent); + var streamId = IdentityFromEvent(documentSessionBase.Options.EventGraph.StreamIdentity, latestEvent); var slice = new EventSlice(streamId, session, events); if (Lifecycle == ProjectionLifecycle.Live) { @@ -420,16 +420,6 @@ public IAggregateCache CacheFor(Tenant tenant) } } - public TId IdentityFromEvent(IEvent e) - { - if (typeof(TId) == typeof(Guid)) - { - return e.StreamId.To(); - } - - return e.StreamKey.To(); - } + public TId IdentityFromEvent(StreamIdentity streamIdentity, IEvent e) => + streamIdentity == StreamIdentity.AsGuid ? e.StreamId.To() : e.StreamKey.To(); } - - -