private EventResult Events(Guid id, int fromVersion) { var table = _databaseGateway.GetDataTableFor(_queryFactory.Get(id, fromVersion)); var result = new EventResult(fromVersion); foreach (DataRow row in table.Rows) { fromVersion = EventStoreColumns.Version.MapFrom(row); var assemblyQualifiedName = EventStoreColumns.AssemblyQualifiedName.MapFrom(row); using (var stream = new MemoryStream(EventStoreColumns.Data.MapFrom(row))) { result.Add(new Event(fromVersion, assemblyQualifiedName, _serializer.Deserialize(Type.GetType(assemblyQualifiedName), stream))); } } return(result); }