private static IMutableModel EnableTemporalQuery(this IMutableModel mutableModel, IEnumerable <string> temporalTableNames)
        {
            var temporalTables = new TemporalTables(temporalTableNames.Select(t => $"[{t}]"));

            mutableModel[TimeTravelInterceptor.TemporalTablesKey] = temporalTables;

            return(mutableModel);
        }
        private void UpdateQuery(DbCommand command, TemporalTables temporalTables)
        {
            var parameter = command.CreateParameter();

            parameter.ParameterName = "@TimeTravelDate";
            parameter.Value         = TimeTravelDate;

            command.Parameters.Add(parameter);

            foreach (var table in temporalTables.Tables())
            {
                command.CommandText =
                    command.CommandText.Replace(table, $"{table} FOR SYSTEM_TIME AS OF @TimeTravelDate");
            }
        }