CQRS_ES.Framework.SqlEventStore.LoadEvents C# (CSharp) Method

LoadEvents() public method

public LoadEvents ( object id, long version ) : IEnumerable
id object
version long
return IEnumerable
        public IEnumerable<object> LoadEvents(object id, long version = 0)
        {
            const string commandText =
                "SELECT EventType, Body FROM EventWrappers WHERE StreamId = @StreamId AND Sequence >= @Sequence ORDER BY TimeStamp;";
            var connectionString = ConfigurationManager.ConnectionStrings["main"].ConnectionString;

            using(var connection = new SqlConnection(connectionString))
            using (var command = new SqlCommand(commandText, connection))
            {
                command.Parameters.AddWithValue("StreamId", id.ToString());
                command.Parameters.AddWithValue("Sequence", version);

                connection.Open();

                var reader = command.ExecuteReader();
                while (reader.Read())
                {
                    var eventTypeString = reader["EventType"].ToString();
                    var eventType = Type.GetType(eventTypeString);
                    var body = reader["Body"].ToString();
                    yield return JsonConvert.DeserializeObject(body, eventType);
                }
            }
        }