private void AlterTable(string tableName)
        {
            var             tempInstanceFromT = Activator.CreateInstance <T>();
            var             listOfColumns     = tempInstanceFromT.GetType().GetProperties();
            var             nameOfTable       = tempInstanceFromT.GetType().Name;
            ManipulateQuery manipulateQuery   = new ManipulateQuery();

            using (OleDbConnection connection = new OleDbConnection(connectionString))
            {
                OleDbCommand command = new OleDbCommand();
                command.Connection = connection;
                connection.Open();
                foreach (var currentProperty in listOfColumns)
                {
                    if (currentProperty.PropertyType.Name == "String")
                    {
                        string queryString = $"ALTER TABLE {nameOfTable} ADD COLUMN {currentProperty.Name} TEXT";
                        command.CommandText = queryString;
                        command.ExecuteNonQuery();
                    }
                    else if (currentProperty.PropertyType.Name == "DateTime")
                    {
                        string queryString = $"ALTER TABLE {nameOfTable} ADD COLUMN {currentProperty.Name} DATETIME";
                        command.CommandText = queryString;
                        command.ExecuteNonQuery();
                    }
                    else if (currentProperty.PropertyType.Name == "Int32")
                    {
                        string queryString = $"ALTER TABLE {nameOfTable} ADD COLUMN {currentProperty.Name} INT";
                        command.CommandText = queryString;
                        command.ExecuteNonQuery();
                    }
                    else if (currentProperty.PropertyType.Name == "Single")
                    {
                        string queryString = $"ALTER TABLE {nameOfTable} ADD COLUMN {currentProperty.Name} NUMERIC(18,3)";
                        command.CommandText = queryString;
                        command.ExecuteNonQuery();
                    }
                    else if (currentProperty.PropertyType.Name == "TimeSpan")
                    {
                        string queryString = $"ALTER TABLE {nameOfTable} ADD COLUMN {currentProperty.Name} TIME";
                        command.CommandText = queryString;
                        command.ExecuteNonQuery();
                    }
                }
            }
        }
        private void CreateTable()
        {
            string          queryString;
            ManipulateQuery manipulateQuery = new ManipulateQuery();

            try
            {
                var tempInstanceFromT = Activator.CreateInstance <T>();

                var nameOfTable = tempInstanceFromT.GetType().Name;
                queryString = $"DROP TABLE {nameOfTable} ";

                manipulateQuery.ExecuteNonQuery(connectionString, queryString);
                queryString = $"CREATE TABLE {nameOfTable} ( ID AUTOINCREMENT )";
                manipulateQuery.ExecuteNonQuery(connectionString, queryString);
            }
            catch (Exception)
            {
                var tempInstanceFromT = Activator.CreateInstance <T>();
                var nameOfTable       = tempInstanceFromT.GetType().Name;
                queryString = $"CREATE TABLE {nameOfTable} ( ID AUTOINCREMENT )";
                manipulateQuery.ExecuteNonQuery(connectionString, queryString);
            }
        }