The implementation of Save below doesn’t handle a null parameter for updateHeaders
public void Save(IAggregate aggregate, Guid commitId,
Action<IDictionary<string, object>> updateHeaders)
{
…
if(updateHeaders != null)
updateHeaders(commitHeaders);
…
}
I also don’t understand how the GetById sets the actual aggregate Id. CommonDomain has an abstract factory method. The code I got from somewhere on the web uses a convention for aggregate construction - every aggregate has a private constructor that has one guid parameter. James, how does your implementation set the Id in GetById<>?
Do you have a stack trace for this? I guess it’s either because data or (probably) metadata aren’t being passed in, but not sure why that would happen offhand?
Are you running the dev branch binaries or the released ones? If you’re on the released ones you need to be on the master branch of getting-started-with-eventstore repository. One of the changes made for v2 (on dev) is that stream metadata is now in a separate stream rather than a $streamCreated event. You’re likely unsuccessfully trying to deserialize the $streamCreated by the look of it
The changes on dev mean a fairly different client API (we’re trying to follow semver, and it’s a major version bump so breaking changes are OK). For instance, it now supports authentication/authorization etc.
I guess we could post unstable binaries (don’t really want to do one per push though, there are lots of them per day). We’re expecting to do a substantial release (2.0.0) late this week or early next.
Hi, I’m staying with the version 1 for now as we don’t need the auth features, and there are lots of changes happening in the dev branch.
I have copied the EventStoreCatchUpSubscription and removed the auth features - basically made it work with V1 APIs, I need to do more testing here. But I’m having problems with the jo_importer. The importer and JOES repository seem to have different metadata formats.