EventStore/samples

Derivation of Category name / StreamPrefix is broken

Opened this issue · 0 comments

The logic in StreamNameMapper.ToStreamPrefix:

public static string ToStreamPrefix(Type streamType) => Instance.typeNameMap.GetOrAdd(streamType, (_) =>
{
var modulePrefix = streamType.Namespace!.Split(".").First();
return $"{modulePrefix}_{streamType.Name}";
});

is problematic at present as it appears to map MyCompany.Domain.Cart to MyCompany_ItemAdded

While I'm not a fan of seeing the naming of events as a global thing in the first instance*, I feel that this code is worse than useless as you'll inevitably end up with multiple MyCompany_Added things if you start from this code, which will conceal the objective of the code

I'd be more than happy to make a PR to remove the prefixing logic, but would settle for any resolution that's more likely to end up with a useful convention as people inevitably paste this code around the world ;)

  • (for me, the event types should be relative to a Category and not even be subject to a global uniqueness constraint within a given store)